8

我尝试将我的 Android 项目迁移到新的实验性 gradle 插件。我按照页面上的说明进行操作。我对所需文件进行了更改,但是当我尝试将项目与 gradle 文件同步时出现错误。

错误:无法加载类“com.android.build.gradle.managed.ProductFlavor_Impl”。此意外错误的可能原因包括:

  • Gradle 的依赖缓存可能已损坏(有时会在网络连接超时后发生。)重新下载依赖并同步项目(需要网络)
  • Gradle 构建过程(守护进程)的状态可能已损坏。停止所有 Gradle 守护程序可能会解决此问题。停止 Gradle 构建过程(需要重新启动)
  • 您的项目可能正在使用与项目中的其他插件或项目请求的 Gradle 版本不兼容的第三方插件。
在 Gradle 进程损坏的情况下,您还可以尝试关闭 IDE,然后杀死所有 Java 进程。

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

但我仍然不知道如何解决它。

4

1 回答 1

6

如果这不是您项目中的真实文件,请确保您拥有:

minSdkVersion.apiLevel
targetSdkVersion.apiLevel

代替:

minSdkVersion
targetSdkVersion

我有同样的问题,这解决了它。

于 2015-10-23T23:48:46.010 回答