¿Cómo decirle a Gradle que use un diferente AndroidManifest desde la línea de comandos?

Tengo un proyecto multi-módulo. Desde la raíz de mi proyecto (que contiene varios módulos), quiero poder llamar a 'gradle build' y hacer que use un diferente AndroidManifest en uno de mis módulos dependiendo de algún parámetro que pase. ¿Cuál es la mejor manera de lograrlo? ¿esta? ¿Debo usar un archivo gradle.properties o puedo especificar un build.gradle diferente de alguna manera en mi archivo settings.gradle? ¡Cualquier ayuda apreciada!

Settings.gradle:

include 'ActionBarSherlock' include '<main_app>' 

Build.gradle:

 buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.4.2' } } apply plugin: 'android' dependencies { compile project(':ActionBarSherlock') } android { buildToolsVersion "17.0" compileSdkVersion 17 sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] resources.srcDirs = ['src'] aidl.srcDirs = ['src'] renderscript.srcDirs = ['src'] res.srcDirs = ['res'] assets.srcDirs = ['assets'] } } } 

Estoy buscando la mejor manera de usar un diferente AndroidManifest.xml, digamos uno que tengo en //test/AndroidManifest.xml. Y necesito ser capaz de especificar este cambio desde la línea de comandos. ¿Algunas ideas?

One Solution collect form web for “¿Cómo decirle a Gradle que use un diferente AndroidManifest desde la línea de comandos?”

He resuelto esto utilizando diferentes tipos de construcción.

Aquí está mi build.gradle:

 buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.4.2' } } apply plugin: 'android' dependencies { compile project(':facebook-android-sdk-3.0.1:facebook') compile project(':google-play-services_lib') compile project(':nineoldandroids') compile project(':SlidingMenu-master:library') compile project(':ViewPagerIndicator') compile project(':volley') compile project(':windowed-seek-bar') compile files('compile-libs/androidannotations-2.7.1.jar', 'libs/Flurry_3.2.1.jar', 'libs/google-play-services.jar', 'libs/gson-2.2.4.jar', 'libs/picasso-1.1.1.jar', 'libs/crittercism_v3_0_11_sdkonly.jar', 'libs/gcm.jar', 'libs/apphance-library.jar') } android { buildToolsVersion "17.0" compileSdkVersion 17 signingConfigs { debug { storeFile file('keystores/debug.keystore') } } buildTypes { debug { sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] resources.srcDirs = ['src'] aidl.srcDirs = ['src'] renderscript.srcDirs = ['src'] res.srcDirs = ['res'] assets.srcDirs = ['assets'] } } } release { zipAlign true sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] resources.srcDirs = ['src'] aidl.srcDirs = ['src'] renderscript.srcDirs = ['src'] res.srcDirs = ['res'] assets.srcDirs = ['assets'] } } } utest { debuggable true signingConfig signingConfigs.debug sourceSets { main { manifest.srcFile 'utest/AndroidManifest.xml' java.srcDirs = ['src'] resources.srcDirs = ['src'] aidl.srcDirs = ['src'] renderscript.srcDirs = ['src'] res.srcDirs = ['res'] assets.srcDirs = ['assets'] } } } } } 

Usted puede ver que para mi compilación más grande, estoy especificando un manifiesto en un directorio diferente. trabajos.

  • Problema de actualización en la versión de herramientas de compilación de gradle de 1.2.3 a 1.3.1
  • Uso de intelliJ con gradle OFFLINE para el desarrollo de android
  • ¿Cuál es la diferencia entre compilar, testCompile y proporcionada en dependencia de gradle
  • Gradle buildConfigField con una variable entera
  • Módulo hermano de importación en Android Studio
  • Android Studio: ¿Cómo migrar el proyecto IntelliJ a Gradle?
  • No se puede firmar la versión APK -: app: shrinkReleaseMultiDexComponents FALLED
  • No se pudo encontrar com.google.android.gms: play-services: 7.0.0
  • Android Studio 1.3 gradle plugin devuelve error al definir jni y jniLibs en conjuntos de código fuente
  • Cómo desactivar gradle en Córdoba?
  • Incrementar versión en la compilación del proyecto
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.