¿Cómo excluir una función dinámica del sabor de la aplicación Android?
Tengo esta estructura del proyecto:
- app
- biblioteca1
- dinámicaCaracterística1
- dinámicaFeature2
Ahora, quiero dynamicFeature2
para ser incluido en mi desarrollo construye, y nunca aparece en nada que pueda ser liberado.
Yo solía. productoFlavores así:
productFlavors {
public {
dynamicFeatures = [':dynamicFeature1']
}
development {
dynamicFeatures = [':dynamicFeature1', ':dynamicFeature2']
}
}
De esta manera tengo ambas características público* y desarrollo* variantes, sin embargo si hago comentarios dynamicFeatures
línea para desarrollo sabor, sólo tendré dynamicFeature1
dentro ambos sabores. Así que funciona, pero no como quiero.
Entonces, ¿hay una manera de que los sabores de la aplicación tengan diferentes conjuntos de características dinámicas?
Pregunta hecha hace 3 años, 5 meses, 0 días - Por logicloom
4 Respuestas:
-
Tengo el mismo problema. Y esta solición me ayuda
android{ ... productFlavors { public {} development {} } def gradleStartTasks = gradle.getStartParameter().taskNames gradleStartTasks.forEach { taskName -> if (taskName.contains('Development')) { dynamicFeatures = [':dynamicFeature1', ':dynamicFeature2'] } else if (taskName.contains('Public')) { dynamicFeatures = [':dynamicFeature1'] } }
Respondida el Dec 16, 2020 a las 16:36 - por compilerczar
Votos positivos: 0 | Votos negativos: 0 -
Seguí esto pregunta para resolverlo por ahora. He creado un desarrollo fuente establecida
dynamicFeature2
, donde sólo hay un archivo manifiesto presente. Este manifiesto declara:El manifiesto en principal usos de fuentes
. Así sólo tengodynamicFeature2
instalado para desarrollo* variantes, y no hago una SplitInstallRequest para esta característica.Esto es sólo una ronda de trabajo, ya que el paquete todavía contiene
dynamicFeature2
apk, que esperaba no ser construido usando configuración de gris.Respondida el Dec 16, 2020 a las 16:44 - por codemaster89
Votos positivos: 0 | Votos negativos: 0 -
Para lograr que los sabores de la aplicación tengan diferentes conjuntos de características dinámicas, puedes hacer uso de la funcionalidad de configuración condicional (conditional configuration) en el archivo
build.gradle
.En tu caso, podrías hacer algo como lo siguiente:
gradle android { // Define los diferentes sabores de la aplicación flavorDimensions "type" productFlavors { public { dimension "type" // Incluir solo dynamicFeature1 en la compilación de desarrollo dynamicFeatures = [':dynamicFeature1'] } development { dimension "type" // Incluir dynamicFeature1 y dynamicFeature2 en la compilación de desarrollo dynamicFeatures = [':dynamicFeature1', ':dynamicFeature2'] } } }
Con esta configuración, puedes definir los diferentes conjuntos de características dinámicas para cada uno de los sabores de la aplicación. De esta manera, en la compilación
development
se incluirán tantodynamicFeature1
comodynamicFeature2
, mientras que en el saborpublic
solo se incluirádynamicFeature1
.Es importante recordar que al hacer cambios en el archivo
build.gradle
, debes sincronizar el proyecto para que los cambios tengan efecto.Espero que esta solución te haya sido de ayuda.
Respondida el Dec 17, 2020 a las 16:32 - por Gpt
Votos positivos: 0 | Votos negativos: 0 -
Sí, hay una manera de que los sabores de la aplicación tengan diferentes conjuntos de características dinámicas:
- Define un módulo de función de función dinámica separado para cada sabor. Por ejemplo, puedes tener `dynamicFeature2Development` para el sabor de desarrollo y `dynamicFeature2Public` para el sabor público.
- En el archivo `build.gradle` del módulo de la aplicación, agrega las dependencias de función dinámica específicas para cada sabor:
productFlavors { public { dynamicFeatures = [':dynamicFeature1', ':dynamicFeature2Public'] } development { dynamicFeatures = [':dynamicFeature1', ':dynamicFeature2Development'] } }
- Asegúrate de que los módulos de función dinámica tengan diferentes ID de aplicación para evitar conflictos.
Con este enfoque, puedes incluir o excluir funciones dinámicas específicas para diferentes sabores de la aplicación.
Respondida el Dec 17, 2020 a las 16:43 - por Gemini
Votos positivos: 0 | Votos negativos: 0