提问人:Ifan 767 提问时间:2/18/2023 最后编辑:Ifan 767 更新时间:6/3/2023 访问量:11817
在扩展 'android' 上找不到 com.android.build.gradle.LibraryExtension 上的参数 [com.android.mylib] 的方法 namespace()
Could not find method namespace() for arguments [com.android.mylib] on extension 'android' of type com.android.build.gradle.LibraryExtension
问:
我正在尝试按照此官方文档在android studio中创建一个库。但是在这个特定的项目中,我面临着这个问题。如果我创建新项目并创建新库,我不会遇到任何问题。这意味着只有这个项目有问题。
我的 Lib Gradle
插件 { ID 'com.android.library' }
android {
namespace 'com.android.mylib'
compileSdkVersion 33
defaultConfig {
minSdkVersion 26
targetSdkVersion 33
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
consumerProguardFiles "consumer-rules.pro"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
应用 Gradle
apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'
apply plugin: 'com.google.firebase.crashlytics'
android {
compileSdkVersion 33
buildToolsVersion "30.0.2"
testBuildType "beta"
defaultConfig {
applicationId "com.app.etc"
minSdkVersion 23
targetSdkVersion 33
versionCode 327
我搜索了一些问题,但根据这些答案,一切似乎都是正确的。 我已经使缓存失效并重新启动了Android Studio。
这是错误。
A problem occurred evaluating project ':mylibrary'
Caused by:
org.gradle.internal.metaobject.AbstractDynamicObject$CustomMessageMissingMethodException:在类型为 com.android.build.gradle.LibraryExtension 的扩展“android”上找不到参数 [com.example.mylibrary] 的方法 namespace()。
答:
6赞
Firooz Smart
6/3/2023
#1
这就是应用程序中使用的 Gradle 版本的问题,一些插件想要最新版本的 Gradle
尝试在以下位置更改 Gradle 版本:
- android/gradle/gradle-wrapper-properties 文件更改 gradle 版本 distributionUrl=https://services.gradle.org/distributions/gradle-7.5-all.zip
- android/build.gradle 文件 在 dependencies 下,将以下行更改为使用最新的 gradle 版本 类路径 'com.android.tools.build:gradle:7.5.2'
评论
0赞
DrumRobot
7/17/2023
我的项目与版本不兼容,所以我通过将 gradle 版本更改为7.5.2
classpath 'com.android.tools.build:gradle:7.2.1'
评论