我尝试将我的 Android 项目迁移到新的实验性 gradle 插件。我按照此页面上的说明进行操作。我对所需文件进行了更改,但是当我尝试将项目与 gradle 文件同步时出现错误。
错误:无法加载类“com.android.build.gradle.managed.ProductFlavor_Impl”。此意外错误的可能原因包括:
在 Gradle 进程损坏的情况下,您还可以尝试关闭 IDE,然后杀死所有 Java 进程。
- Gradle 的依赖缓存可能已损坏(有时会在网络连接超时后发生。)重新下载依赖并同步项目(需要网络)
- Gradle 构建过程(守护进程)的状态可能已损坏。停止所有 Gradle 守护程序可能会解决此问题。停止 Gradle 构建过程(需要重新启动)
- 您的项目可能正在使用与项目中的其他插件或项目请求的 Gradle 版本不兼容的第三方插件。
build.gradle
在我的app
文件夹中与此非常相似:
apply plugin: 'com.android.model.application'
apply plugin: 'maven'
repositories {
maven {
url = getBaseRepository()
credentials {
username = NEXUS_USERNAME
password = NEXUS_PASSWORD
}
}
mavenCentral()
}
def int CACHE_LIMIT = CACHE_CHANGING_MODULES_FOR_SECONDS.toInteger()
configurations.all {
resolutionStrategy.cacheChangingModulesFor CACHE_LIMIT, 'seconds'
}
model {
android {
compileSdkVersion = 23
buildToolsVersion = "23.0.0"
defaultConfig.with {
applicationId = "<myRealAppIdIsHere>"
minSdkVersion.apiLevel = 14
targetSdkVersion.apiLevel = 18
multiDexEnabled = true
}
}
android.buildTypes {
debug {
/*buildConfigField.with {
create() {
type = "boolean"
name = "DEBUG_BUILD"
value = rootProject.ext.debugBuild
}
}*/
}
release {
minifyEnabled = false
proguardFiles += 'proguard-rules.pro'
/*buildConfigField.with {
create() {
type = "boolean"
name = "DEBUG_BUILD"
value = rootProject.ext.releaseBuild
}
}*/
}
}
}
dependencies {
// my dependencies are here...
}
有谁知道问题出在哪里?我不知道为什么错误消息包含有关 ProductFlavor 的问题,因为我的项目没有风味......
更新
我试图清理我的项目 - 清理不成功,但清理期间的错误消息更具体:
错误:(10, 1) 配置项目 ':app' 时出现问题。执行模型规则时抛出异常:com.android.build.gradle.model.BaseComponentModelPlugin$Rules#createVariantData(org.gradle.model.ModelMap, org.gradle.model.ModelMap, com.android.build.gradle.internal.TaskManager ) > afterEach() 无法解析配置 ':app:_debugCompile' 的所有依赖项。执行模型规则时抛出异常:model.android 无法设置只读属性:minSdkVersion 类:com.android.build.gradle.managed.ProductFlavor_Impl
但我仍然不知道如何解决它。