Android + gradle: diferentes metadatos manifiestos por sabor
Me gustaría definir un atributo de manifiesto meta-data
diferente en función del sabor del producto. Yo traté de hacer esto,
src/ main/ AndroidManifest.xml prod/ AndroidManifest.xml dev/ AndroidManifest.xml
El manifiesto main
está completo, pero las versiones prod
y dev
son escasas y sólo contienen los metadatos,
- Signature globalConfig para la construcción de varios proyectos
- ActionBarActivity y FragmentActivity ... "Tipos inconvertibles"?
- Gradle no está compilando para la mensajería de Cloud Firebase
- Cambiar la URL mavenCentral de Gradle a Mi repo
- Gradle no se pudo construir cuando proguard está activado
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.inventory" android:versionCode="1" android:versionName="1.0"> <meta-data android:name="analytics" android:value="true"/> </manifest>
Es mi entendimiento que el sabor se manifiesta se fusionará con el principal. En mi build.gradle, lo hago,
android { productFlavors { prod { manifest.srcFile "prod/AndroidManifest.xml" } dev { manifest.srcFile "dev/AndroidManifest.xml" } } ... }
Sin embargo, encontrar i tratar de construir "assembleProdDebug", tengo esto,
* What went wrong: A problem occurred evaluating project ':Inventory'. > No signature of method: org.gradle.api.java.archives.internal.DefaultManifest.srcFile() is applicable for argument types: (java.lang.String) values: [prod/AndroidManifest.xml]
Gracias.
- Gradle muestra un error en la biblioteca de soporte: "La versión del módulo com.android.support:support-v13:19.0.1 depende de las bibliotecas pero no es una biblioteca en sí"
- ¿Hay alguna manera de ejecutar un conjunto específico de pruebas en un proyecto de Android Gradle?
- Error de Gradle: No se encontró com.android.tools.build:gradle:2.2.3
- Combinaciones de sabores de productos Gradle de Android
- Cómo ejecutar grupos de pruebas de unidad con gradle en Android
- MultiDexApplication no reconocido
- Reduzca el tiempo de sincronización de Gradle en el estudio de Android
- AndroidAnnotations Nada generado, actividad vacía
En el archivo gradle, no es necesario definir la ruta del manifiesto.
utilizar:
productFlavors{ prod {} dev{} }
Compruebe que su estructura de directorios es correcta: un directorio con el nombre del sabor, para cada sabor, bajo el directorio src, y en cada dir, coloque el archivo de manifiesto que sobrepase.
Gradle fusionará los archivos.
PS: si la etiqueta de meta-datos está dentro de la etiqueta de la aplicación, también debe aplicar la etiqueta de la aplicación en el manifiesto principal.
- Galería de imágenes de desplazamiento horizontal de Android
- Cómo mostrar los contactos en un listview en Android para Android api 11+