Agregar claves de liberación en el complemento experimental de Gradle para Android

Hey estoy teniendo algunos problemas al agregar una firma de mi versión de lanzamiento variante. Actualmente estoy usando el gradle experimental 2.5 con el nuevo androide gradle plugin versión 0.1.0.

Build.gradle:

apply plugin: 'com.android.model.application' model { android { compileSdkVersion = 15 buildToolsVersion = "22.0.1" defaultConfig.with { applicationId = "com.testcom.test" minSdkVersion.apiLevel = 14 targetSdkVersion.apiLevel = 14 versionCode = 1 versionName = "1.0" } compileOptions.with { sourceCompatibility JavaVersion.VERSION_1_6 targetCompatibility JavaVersion.VERSION_1_6 } } android.ndk { ... } android.signingConfigs { signed { keyAlias = "meow" keyPassword = "**" storeFile = file("meow-key.keystore") storePassword = "**" } } android.buildTypes { release { isMinifyEnabled = false proguardFiles += file('proguard-rules.pro') signingConfig = signingConfigs.signed } debug { isDebuggable = true isJniDebuggable = true } } // You can modify the NDK configuration for each variant. components.android { binaries.afterEach { binary -> binary.mergedNdkConfig.cppFlags.add( "-DVARIANT=\"" + binary.name + "\"") } } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) } 

Mi raíz build.gradle:

 buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle-experimental:0.1.0' } } allprojects { repositories { jcenter() } } 

El error que estoy consiguiendo al ejecutar. / ./gradlew assembleRelease es:

 > Exception thrown while executing model rule: model.android.buildTypes > named(release) > Attempt to read a write only view of model of type 'java.lang.Object' given to rule 'model.android.buildTypes' 

¿Alguien ha tenido un problema similar con el complemento gradle experimental? La ayuda sería muy apreciada. 🙂

3 Solutions collect form web for “Agregar claves de liberación en el complemento experimental de Gradle para Android”

Esta solución funciona para mí y no requiere -Dorg.gradle.model.dsl = true

 model { def signConf android.buildTypes { release { signingConfig = signConf } } android.signingConfigs { create("signed") { keyAlias = "meow" keyPassword = "**" storeFile = file("meow-key.keystore") storePassword = "**" storeType = "jks" signConf = it } } } 

Sin embargo, sólo funciona si sólo tiene un signedConfig.

Debe ser capaz de agregar las claves de liberación con un script como este:

 model { android.buildTypes { release { signingConfig = $("android.signingConfigs.signed") } } android.signingConfigs { create("signed") { keyAlias = "meow" keyPassword = "**" storeFile = file("meow-key.keystore") storePassword = "**" storeType = "jks" } } } 

Actualmente parece ser un error en el complemento.
-Dorg.gradle.model.dsl=true especificar -Dorg.gradle.model.dsl=true cuando ejecute el comando gradle.

También debe tener un problema con proguard. En este caso, puede utilizar el new File("path/to/proguard-rules.pro") lugar de file('proguard-rules.pro')

La forma correcta de hacerlo con la última versión del complemento de Android ( 0.6.0-alpha3 ) es la siguiente:

 android.signingConfigs { create("release") { storeFile = file("../keys.keystore") storePassword = "st0r3pa$$" keyAlias = "SecretKey" keyPassword = "k3ypa$$" } } android.buildTypes { release { signingConfig = $.android.signingConfigs.get("release") } } 

En Gradle 2.9 que es usado por esta versión del plugin, las reglas declaradas pueden depender entre sí usando una sintaxis especial: $.<path-to-element> . El truco consiste en crear la configuración de firma como de costumbre, y luego asignarla a un campo en una regla diferente utilizando esta sintaxis. Gradle se dará cuenta de que la configuración de firma es una dependencia de entrada y le permitirá acceder a ella.

  • Cómo utilizar maven en el estudio android
  • Android Studio Versión no compatible del complemento Gradle
  • Gradle y dependencias no transitivas anidadas
  • Combinaciones de sabores de productos Gradle de Android
  • Android - Proguard con httpcore y httpmime con Android Studio y Gradle
  • Android studio - La aplicación con proyecto de biblioteca falla al generar
  • AndroidStudio - No se pudo actualizar Gradle
  • Casos de prueba de Android que fallan después de actualizar a Java 8 y herramientas de compilación versión 25
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.