2015-09-09 11 views
7

Ich versuche mein Android-Projekt auf ein neues experimentelles Gradle-Plugin zu migrieren. Ich folgte Anweisungen auf this Seite. Ich habe Änderungen an den erforderlichen Dateien vorgenommen, aber ich habe einen Fehler, wenn ich versuche, das Projekt mit den Gradle-Dateien zu synchronisieren.Projekt auf neues experimentelles Gradle-Plugin migrieren

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.

build.gradle in meinem app Ordner ist sehr ähnlich wie diese:

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... 
} 

Weiß jemand, wo ist das Problem? Ich weiß nicht, warum Fehlermeldung Problem über ProductFlavor enthält, weil mein Projekt keine Aromen hat ...

UPDATE

Ich habe versucht, mein Projekt zu reinigen - sauber war nicht erfolgreich, aber die Fehlermeldung während sauber ist spezifischer:

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

Aber immer noch weiß ich nicht, wie ich es beheben kann.

+0

Dies kann in einem Projekt mit mehreren Modulen vorkommen. Haben Sie mehr als ein Modul in Ihrem Projekt? –

+0

wir haben das gleiche Problem. Unser Projekt enthält ein Modul. Wie können wir dieses Problem lösen? –

Antwort

6

Falls dies nicht die eigentliche Datei in Ihrem Projekt, stellen Sie sicher, Sie haben:

minSdkVersion.apiLevel 
targetSdkVersion.apiLevel 

statt:

minSdkVersion 
targetSdkVersion 

Ich hatte das gleiche Problem und das reparierte es.

+1

Wie ist dies mit ** createVariantData ** Fehler verbunden? –