android – 将项目迁移到新的实验gradle插件

前端之家收集整理的这篇文章主要介绍了android – 将项目迁移到新的实验gradle插件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我尝试将我的 Android项目迁移到新的实验性gradle插件.我按照 this页的说明进行操作.我对所需文件进行了更改,但是当我尝试使用gradle文件同步项目时出错.

Error:Unable to load class ‘com.android.build.gradle.managed.ProductFlavor_Impl’.
Possible causes for this unexpected error include:

  • Gradle’s dependency cache may be corrupt (this sometimes occurs after a network connection timeout.)
    Re-download dependencies and sync project (requires network)
  • The state of a Gradle build process (daemon) may be corrupt. Stopping all Gradle daemons may solve this problem.
    Stop Gradle build processes (requires restart)
  • Your project may be using a third-party plugin which is not compatible with the other plugins in the project or the version of Gradle requested by the project.

In the case of corrupt Gradle processes,you can also try closing the IDE and then killing all Java processes.

我的app文件夹中的build.gradle与此非常相似:

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的问题,因为我的项目没有味道……

UPDATE

我试图清理我的项目 – 清理不成功,但清理过程中的错误消息更具体:

Error:(10,1) A problem occurred configuring project ‘:app’.
Exception thrown while executing model rule: com.android.build.gradle.model.BaseComponentModelPlugin$Rules#createVariantData(org.gradle.model.ModelMap,org.gradle.model.ModelMap,com.android.build.gradle.internal.TaskManager) > afterEach()
Could not resolve all dependencies for configuration ‘:app:_debugCompile’.
Exception thrown while executing model rule: model.android
Cannot set readonly property: minSdkVersion for class: com.android.build.gradle.managed.ProductFlavor_Impl

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

解决方法

如果这不是项目中的真实文件,请确保您具有:
minSdkVersion.apiLevel
targetSdkVersion.apiLevel

代替:

minSdkVersion
targetSdkVersion

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

猜你在找的Android相关文章