web-dev-qa-db-ja.com

Gradle - エラー引数のメソッドimplementation()が見つかりませんでした[com.Android.support:appcompat-v7:26.0.0]

私はAndroid Studioで既存のAndroidプロジェクトを開こうとしていますが、エラーがなければgradleでアプリをビルドできません

エラーAndroidスタジオは投げ続けます

Error:(74, 1) A problem occurred evaluating project ':app'.
> Could not find method implementation() for arguments 
[com.Android.support:appcompat-v7:26.0.0] on object of type 
org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.

Build.gradleの私のコードこれは私の問題を理解するのに役立ちます私の依存関係

dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')

// google & support
implementation "com.Android.support:appcompat-v7:$supportVersion"
implementation "com.Android.support:cardview-v7:$supportVersion"
implementation "com.Android.support:recyclerview-v7:$supportVersion"
implementation "com.Android.support:design:$supportVersion"
implementation "com.Android.support:palette-v7:$supportVersion"
implementation "com.Android.support:customtabs:$supportVersion"
implementation "com.Android.support:support-v4:$supportVersion"
implementation 'com.google.Android.exoplayer:exoplayer:r2.0.4'

// utils
implementation 'com.github.bumptech.glide:glide:4.0.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.0.0'
implementation 'com.koushikdutta.ion:ion:2.1.7'
implementation 'com.github.Commit451:bypasses:1.0.4'
implementation 'com.jakewharton:butterknife:8.8.0'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.0'
implementation 'com.drewnoakes:metadata-extractor:2.9.1'
implementation "com.orhanobut:hawk:2.0.1"

}

問題を解決するために助けてください

57
cole

compileimplementationに置き換えます。

compileは最近 非推奨になりました そしてimplementationまたはapiに置き換えられました

74
Saurabh Thorat

implementationを使えるようにするには、少なくとも Gradle 3.4 またはそれ以降を使う必要があります。廃止予定のcompileを使い続けることはお勧めできません。ビルド時間が遅くなる可能性があるためです。詳細については、公式のAndroid開発者ガイドを参照してください。

あなたのモジュールが実装の依存関係を設定するとき、それはそのモジュールがコンパイル時に他のモジュールに依存関係をリークしたくないことをGradleに知らせます。つまり、依存関係は実行時にのみ他のモジュールに利用可能です。 APIまたはコンパイルの代わりにこの依存関係設定を使用すると、ビルドシステムで再コンパイルする必要があるプロジェクトの量が減るため、ビルド時間が大幅に短縮されます。たとえば、実装の依存関係がそのAPIを変更した場合、Gradleはその依存関係とそれに直接依存するモジュールのみを再コンパイルします。ほとんどのアプリとテストモジュールはこの設定を使うべきです。

https://developer.Android.com/studio/build/gradle-plugin-3-0-0-migration.html#new_configurations

更新: compileは2018年末までに削除される予定なので、必ずimplementationのみを使用するようにしてください。

警告:設定 'compile'は廃止され、 'implementation'に置き換えられました。 2018年末に削除されます

20
donfuxx

あなたのgradleバージョン3.を確認してください。 または「実装」を使用する前に高い。

依存関係の下でプロジェクトレベルの許可ファイルを開く

dependencies{
classpath 'com.Android.tools.build:gradle:3.1.2'
}

オープングラドルラッパープロパティは次のように配布URLを使用します。

distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.Zip

または最新バージョン

synkプロジェクト、これであなたの問題が解決したと思います

19
krishna murthy

適用プラグイン: 'Java'を適用プラグイン: 'Java-library'に変更します。

Java-library-plugin

3
xiqing lau

あなたのコード

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')

それを取り替えなさい

dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
1
Saurabh kumar

ばかげている、しかし私はまだ誰かが私のような状況に陥った場合に備えて私の経験を共有したいと思う。

変更したかどうかを確認してください:compileSdkVersion - > implementationSdkVersion誤って

0
Nguyen Tan Dat