web-dev-qa-db-ja.com

引数のメソッドimplementation()が見つかりませんでした

アプリを実行しようとしましたが、gradleはそれを構成したくありません。

どうすればいいですか?

エラー:(36、0)タイプorg.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandlerのオブジェクトの引数[com.google.firebase:firebase-appindexing:11.6.2]のメソッドimplementation()が見つかりませんでした。

私のアプリのbuild.gradleファイル

 minSdkVersion 14
        targetSdkVersion 22
        signingConfig signingConfigs.config
    }
    buildTypes {
        release {
            debuggable false
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.txt'
            signingConfig signingConfigs.config
        }
    }
    lintOptions {
        disable 'MissingTranslation'
    }
    productFlavors {
    }
}
dependencies {
    implementation 'com.google.firebase:firebase-appindexing:11.6.2'
    compile project(':AndEngine')
    compile files('libs/gson-2.8.0.jar')
    compile 'com.Android.support:support-v4:22.2.1'
    compile 'com.google.firebase:firebase-core:10.2.4'
    compile 'com.google.code.gson:gson:2.8.0'
    compile 'com.google.Android.gms:play-services-ads:10.2.4'
    compile 'com.google.firebase:firebase-ads:10.2.4'
    compile 'com.google.firebase:firebase-crash:10.2.4'

} 
5
user7856586

交換する

implementation 'com.google.firebase:firebase-appindexing:11.6.2'

compile 'com.google.firebase:firebase-appindexing:11.6.2'

implementationを使用するには、gradleのバージョンを更新する必要があります。プロジェクトのbuild.gradleでbuildscriptブロックを更新することができます

buildscript {

    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.Android.tools.build:gradle:3.0.1'


    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
    }
}

compileは非推奨となっており、将来のGradleリリースではサポートされなくなります。

したがって、プロジェクトをコンパイルするには、提案したようにその行を変更するだけですが、gradleバージョンを更新し、すべての依存関係にimplementationを使用することを検討してください。

[〜#〜]更新[〜#〜]

Firebase依存関係のすべてのモジュールに同じバージョンを使用する必要があります。

したがって、この方法でアプリのbuild.gradleを更新する必要があるかもしれません

dependencies {
    compile 'com.google.firebase:firebase-appindexing:11.6.2'
    compile project(':AndEngine')
    compile files('libs/gson-2.8.0.jar')
    compile 'com.Android.support:support-v4:22.2.1'
    compile 'com.google.firebase:firebase-core:11.6.2'
    compile 'com.google.code.gson:gson:2.8.0'
    compile 'com.google.Android.gms:play-services-ads:11.6.2'
    compile 'com.google.firebase:firebase-ads:11.6.2'
    compile 'com.google.firebase:firebase-crash:11.6.2'
} 

または、新しいビルドエラーが発生する可能性があります。

また

compile 'com.Android.support:support-v4:22.2.1'

は最新バージョンではないため、新しい問題が発生する可能性があります。

しかし、私は段階的に進めることをお勧めします:)

更新2

この方法でgsonの依存関係を宣言した場合

compile 'com.google.code.gson:gson:2.8.0'

あなたは必要ありません

compile files('libs/gson-2.8.0.jar')

それは冗長であり、さらに、不要なjarファイルのlibsフォルダーを解放できます

6