修复 Android Studio 中的“错误找不到参数 [com.android.support:appcompat-v7:26.0.0] 的方法实现()”
执行 是用于库声明的依赖配置,由 Google 在 Android Gradle Plugin 3.0 中引入。在此配置中声明了实现依赖项,该配置是内部的,并不意味着向消费者公开。 “Could not find method implementation() for arguments [com.android.support:appcompat-v7:26.0.0]”错误的主要原因是Gradle无法识别实现配置。在本文中,我们将讨论 5 种不同的方法来解决此错误。
- 方法一:更新到最新的 Gradle 版本
- 方法2 :将“实现”改为“编译”
- 方法 3 :将依赖项移动到模块 build.gradle
- 方法4 :将应用插件:“Java”更改为“java-library”
- 方法5 :将“implementationSdkVersion”更改为“compileSdkVersion”
方法一:更新到最新的 Gradle 版本
如果您在旧版本的 Gradle 中使用“实施”配置,Gradle 将无法识别它并抛出此错误。因此,将 Gradle 和 Gradle 构建插件更新到最新版本可以帮助解决这个问题。
第 1 步:导航到app > Gradle Script > build.gradle(项目: app)。现在在“依赖项”块中,将类路径更新为最新版本的 Gradle 构建插件。
dependencies { classpath "com.android.tools.build:gradle:4.0.2" }
第 2 步:现在导航到app > Gradle Script > gradle-wrapper.properties并将“ distributionUrl ”更新为最新版本的 Gradle。添加此代码后,同步您的项目以解决此问题。
distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip
方法二:将“实现”改为“编译”
如果您在低于 3.0 的 Gradle 插件版本中使用“实施”配置,Gradle 将无法识别它并抛出此错误。因此,将“实现”更改为“编译”是可行的。导航到app > Gradle Script > build.gradle (Module:app) 。在依赖项块中,将“ implementation ”更改为“ compile ”,将“ testImplementation ”更改为“ testCompile ”,将“ androidTestImplementation ”更改为“ androidTestCompile ”。
dependencies {
compile fileTree(dir: "libs", include: ["*.jar"])
compile 'androidx.appcompat:appcompat:1.3.0'
compile 'androidx.constraintlayout:constraintlayout:2.0.4'
compile 'com.google.firebase:firebase-database:20.0.0'
compile 'com.google.firebase:firebase-analytics'
compile platform('com.google.firebase:firebase-bom:28.0.1')
compile 'com.google.android.material:material:1.3.0'
compile 'com.google.android:flexbox:2.0.1'
compile 'androidx.cardview:cardview:1.0.0'
compile 'com.google.firebase:firebase-storage:20.0.0'
testCompile 'junit:junit:4.12'
androidTestCompile 'androidx.test.ext:junit:1.1.2'
androidTestCompile 'androidx.test.espresso:espresso-core:3.3.0'
}
方法 3:将依赖项移至模块 build.gradle
在 Android Studio 中,有两个 build.gradle 文件。一个用于项目级别,另一个用于模块级别。如果在项目级别的 build.gradle 文件中添加应用程序依赖项,则会引发错误“找不到 implementation() 方法”。将这些依赖项添加到模块 build.gradle 可以帮助解决这个问题。
方法4:将应用插件:“Java”更改为“java-library”
Java库插件通过提供有关Java库的特定知识来扩展Java插件的功能。将模块级别 build.gradle中的代码从
apply plugin: 'java'
到
apply plugin: 'java-library'
添加此代码后,同步您的项目以解决此问题。
方法5:将“implementationSdkVersion”改为“compileSdkVersion”
构建应用程序时使用的编译器版本由“compileSdkVersion”决定,而Gradle中没有“implementationSdkVersion”这样的方法。因此将“implementationSdkVersion”更改为“compileSdkVersion”可以解决这个问题。导航到应用 > Gradle 脚本 > build.gradle (Module:app)。将代码从
android {
implementationSdkVersion 30
.......
}
到
android {
compileSdkVersion 30
.......
}
添加此代码后,同步您的项目以解决此问题。