Миграция проекта в новый экспериментальный плагин gradle

Я пытаюсь перенести свой проект Android в новый экспериментальный плагин gradle. Я выполнил инструкции на странице this. Я вносил изменения в необходимые файлы, но у меня ошибка при попытке синхронизировать проект с gradle файлами.

Ошибка: невозможно загрузить класс 'com.android.build.gradle.managed.ProductFlavor_Impl'. Возможные причины этой непредвиденной ошибки:

  • 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 {
 ************* = false
 proguardFiles += 'proguard-rules.pro'
 /*buildConfigField.with {
 create() {
 type = "boolean"
 name = "DEBUG_BUILD"
 value = rootProject.ext.releaseBuild
 }
 }*/
 }
 }
}
dependencies {
 // my dependencies are here...
}
</myrealappidishere>

Кто-нибудь знает, где проблема? Я не знаю, почему сообщение об ошибке содержит проблему с ProductFlavor, потому что у моего проекта нет вкусов...

UPDATE

Я попытался очистить мой проект - очистить не удалось, но сообщение об ошибке во время очистки более конкретно:

Ошибка: (10, 1) Возникла проблема с настройкой проекта ': app'. Исключение, выполняемое при выполнении правила модели: com.android.build.gradle.model.BaseComponentModelPlugin $Правила # createVariantData (org.gradle.model.ModelMap, org.gradle.model.ModelMap, com.android.build.gradle.internal.TaskManager ) > afterEach() Не удалось разрешить все зависимости для конфигурации: app: _debugCompile. Исключение, выполняемое при выполнении правила модели: model.android Невозможно установить свойство readonly: minSdkVersion для класса: com.android.build.gradle.managed.ProductFlavor_Impl

Но я не знаю, как это исправить.

1 ответ

Если это не настоящий файл в вашем проекте, убедитесь, что у вас есть:

minSdkVersion.apiLevel
targetSdkVersion.apiLevel

вместо:

minSdkVersion
targetSdkVersion

У меня была такая же проблема, и это исправило ее.

licensed under cc by-sa 3.0 with attribution.