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

  • No se pueden ejecutar pruebas unitarias en Android Studio
  • Añadir dependencia gradle para dar soporte a android.util.ArrayMap
  • Android Gradle Jacoco: instrumentación offline para pruebas de integración
  • Cómo inyectar la configuración de Android a cada subproyecto con Gradle?
  • Gradle construye realmente lento con una estructura multi-proyecto
  • Error al resolver 'com.google.firebase: firebase-messaging: 11.0.4' en Android Studio 2.3.3
  • Android Studio cómo empaquetar AAR único de varios proyectos de biblioteca?
  • Error de ejecución de Gradle en Android Studio (Ubuntu)
  • Cómo cambiar el nombre de apk usando gradle como este formato?
  • Gradle JUnit Espresso en el emulador connectedAndroidTest java.lang.IncompatibleClassChangeError
  • Cómo generar html informe con gradle 1.12?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.