Inclusión / exclusión de recursos condicionales para Android apk build

Sigo volviendo a este problema, ya que no parece ser una solución limpia. ¿Alguien tiene una buena estrategia para excluir recursos de un proyecto de niño en Android?

Tengo dos escenarios:

1 – El proyecto de biblioteca base tiene archivos de localización para en, es, etc.

– El proyecto infantil 1 utiliza todas las localizaciones, y todo es bueno

–Child proyecto 2 sólo se localiza en inglés, pero el final .apk tendría una localización parcial debido a los recursos de los padres (aunque ADT19 o así añadido Lint reglas para advertir / evitar que hacer esto).

La única solución que tengo a esto ahora es tener una biblioteca de padres independiente para la localización, e incluirla solamente en el proyecto de niño 1. Esto es un gran dolor si tienes muchos proyectos de biblioteca.

2 – Exclusión de recursos específicos de construcción. Tengo algunas imágenes que sólo se necesitan para mis compilaciones específicas de Nook de mis aplicaciones, que son activadas por una bandera. El código condicional funciona muy bien, pero los recursos siempre se incluyen.

Preferiría no crear otro proyecto secundario para CADA UNA de mis aplicaciones. ¿Hay alguna forma de establecer una compilación / compilación de bandera para podar los recursos de imagen específica para que no se meten en el .apk final?

El segundo problema puede ser específico para mí, pero me sorprende que no pueda encontrar ninguna buena discusión sobre el primer punto. ¿No hay otros desarrolladores que estén localizando sólo algunas aplicaciones? ¿O la mayoría de la gente simplemente ignora el problema?

1 – El proyecto de biblioteca base tiene archivos de localización para en, es, etc.

Usted tiene dos proyectos usando esta biblioteca, y sólo uno de ellos necesita todas las traducciones. Por lo tanto, esas traducciones podrían estar en el proyecto usando la biblioteca y necesitando las traducciones, no en la propia biblioteca. Esto no es diferente de cualquier otro proyecto que personaliza recursos de una biblioteca (por ejemplo, reemplazando iconos, reemplazando diseños).

Ahora, una vez que comience a meterse en mezclas más complicadas (por ejemplo, dos proyectos necesitan las traducciones y un tercero no), entonces empieza a tener problemas.

Exclusión de recursos específicos de compilación. Tengo algunas imágenes que sólo se necesitan para mis compilaciones específicas de Nook de mis aplicaciones, que son activadas por una bandera. El código condicional funciona muy bien, pero los recursos siempre se incluyen.

Xav y yo charlamos un poco sobre los recursos condicionales en este número . Su foco está en la depuración frente a la producción (equivalente a BuildConfig.DEBUG ), pero suena como algo más flexible es una posibilidad.

Ambas cosas podrían ser manejadas por un script de compilación de lanzamiento personalizado. En compilaciones normales de depuración, lo dejaría todo solo; En una compilación de producción, haga que un script Ant ejecute una copia del proyecto, recorte los directorios que no se necesitan, antes de compilar, firmar y zipalignar.

  • Archivos de expansión en Android 6
  • API para cargar automáticamente apk en Google Play?
  • Qué archivos se incluyen en el archivo APK
  • ¿Dónde está la ubicación .apk para las aplicaciones que se instalan en sdcard?
  • Cambiar el nombre generado de apk desde "app-debug.apk"
  • Android Studio: ¿Cómo generar múltiples APKs o APK firmados para todos los productFlavors a la vez para un buildType seleccionado?
  • Proveedor de contenido INSTALL_FAILED_CONFLICTING_PROVIDER (instalación del proveedor de contenido como un apk independiente)
  • Cómo generar un archivo .apk de Xamarin.Forms proyecto utilizando Visual Studio?
  • Analizar el código de versión de los archivos androide apk
  • ¿Es incluso posible modificar .apk, agregando la clase adicional a .dex y re-embalar con manifest.xml modificado?
  • ¿Por qué los tamaños de las actualizaciones / parches de las aplicaciones de Android son similares a los archivos de configuración?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.