¿Cómo hacer que runProguard funcione para el plugin Gradle de android-library?
Me gustaría ejecutar ProGuard en la versión de liberación de mi biblioteca de Android. A continuación se muestra mi archivo build.gradle
que está dentro de mi proyecto.
buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.5.+' } } apply plugin: 'android-library' repositories { mavenCentral() } android { compileSdkVersion 18 buildToolsVersion "18.0.1" defaultConfig { minSdkVersion 10 targetSdkVersion 18 } sourceSets { main { java { srcDir 'src/main/java' } resources { srcDir 'src/../lib' } } } buildTypes { release { runProguard true proguardFile getDefaultProguardFile('proguard-android.txt') } } }
Ejecutar gradlew clean
o gradlew build
devuelve el error siguiente:
- ¿Cómo ofuscar sólo un poco de clase o un solo paquete?
- Proguard no ignora las bibliotecas referenciadas
- ¿El uso de ProGuard vale la pena?
- Android Studio - ProGuard "java.io.IOException ... bin \ classes (Ningún archivo o directorio)"
- ProGuard causa error de handshake SSL en Android
> Could not find method buildTypes() for arguments [build_25r1m0a3etn5cudtt5odlegprd$_run_closure2_closure10@5f3306ad] on project
Parece que el plugin android-library
tiene el método buildTypes
. Si cambio de apply plugin
a android
, gradlew
ejecuta correctamente. Sin embargo, este es un proyecto de biblioteca y me gustaría mantenerlo así. Otras partes mi mi gradle.build
(no mencionado aquí) se basan en el proyecto que es una biblioteca.
¿Hay alguna manera de hacer que el complemento de la android-library
ejecute ProGuard en la compilación?
- Android: Errores de clase duplicados en proguard
- ¿Por qué debería deshabilitar ProGuard para vending.billing?
- Proguard no elimina mis registros
- Cómo quitar android.Log.d?
- Múltiples advertencias al crear usando Proguard
- ¿Es posible Proguard un módulo de biblioteca de Android, pero no el módulo de aplicación?
- La sincronización de Gradle falla con el complemento Dexguard (Android Studio)
- Configuración de Google Play Services v23 Proguard
Resuelto mi problema tomando la release
de buildTypes
como así:
buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.5.+' } } apply plugin: 'android-library' repositories { mavenCentral() } android { compileSdkVersion 18 buildToolsVersion "18.0.1" defaultConfig { minSdkVersion 10 targetSdkVersion 18 } sourceSets { main { java { srcDir 'src/main/java' } resources { srcDir 'src/../lib' } } } release { runProguard true proguardFile getDefaultProguardFile('proguard-android.txt') proguardFile 'proguard-android.txt' } }
También tenga en cuenta que he añadido otro proguardFile
en release
. Esto arregló otro problema que tenía después de resolver el problema inicial de buildTypes
.
- Cómo utilizar diseños de múltiples paneles con ViewPager
- Android: uso de SharedPreferences en una biblioteca