Cambiar el recurso de cadena por sabor / debug-build

Digamos que tenemos strings_test.xml, que almacena los valores de las cadenas para la prueba y debe mostrarse en una versión de depuración. Cuando el apk se construye como una versión de lanzamiento, todos los valores deben ser cambiados a una cadena vacía, por ejemplo, <string name="test_some_card_text">@string/empty</string> .

¿Existe la posibilidad de lograr esto?

Como siempre, gracias de antemano.

4 Solutions collect form web for “Cambiar el recurso de cadena por sabor / debug-build”

Sí, puedes hacerlo dentro de tu nivel de aplicación bajo buildTypes.

  buildTypes { mybuild { resValue "string", "test_some_card_text", '"test"' resValue "string", "other_text", '"other"' } debug { resValue "string", "test_some_card_text", '"test"' resValue "string", "other_text", '"other"' } } 

A continuación, acceder a ella de esta manera.

 getApplicationContext().getResources().getString(R.string.test_some_card_text); getApplicationContext().getResources().getString(R.string.other_text); 

Para la construcción que necesita para seleccionar que build variants y tienen que construirlo.

Sí, Gradle le permite anular las cadenas.

  • Agregue esto dentro de buildTypes {} en su aplicación / build.gradle

    Debug {applicationIdSuffix "debug"}

  • Que debe crear un directorio titulado debug junto a main . Si no, cree manualmente uno. (En serio, no he intentado esto, pero sé que esto es posible.)

  • Luego, si strings_test.xml está bajo res/values , cree una estructura de directorio similar en debug / y coloque su strings_text.xml con cadenas específicas de debug. Esto aparecerá en su compilación de depuración. Los que están bajo release / main / res / values ​​aparecerán en la versión de lanzamiento.

PS: Puede anular todos los datos de res y activos como esto de acuerdo a buildTypes y sabor. Sin embargo, no puede anular archivos Java, sin embargo puede agregarlos .

No es posible cambiar el valor de la cadena después de la creación del apk. Pero usted puede asentar el valor al texto o edittext … etx dinámicamente después de la creación del apk.

Como dijo @Aditya Naik, es posible usar Flavors. Documento oficial dice

BuildType -> Sabor -> principal -> Dependencias.

Esto significa que si se declara un recurso tanto en el tipo de construcción como en principal, se seleccionará el de Tipo de compilación.

Tenga en cuenta que para el ámbito de la fusión, los recursos del mismo (tipo, nombre) pero calificadores diferentes se manejan por separado.

Esto significa que si src / main / res tiene

  • Res / layout / foo.xml
  • Res / layout-land / foo.xml

    Y src / debug / res tiene

  • Res / layout / foo.xml

    A continuación, la carpeta de recursos fusionados contendrá el archivo foo.xml predeterminado de src / debug / res, pero la versión horizontal de src / main / res

Para más información visita Documento oficial – Fusión de recursos

  • El tamaño de la instalación de la aplicación es el mismo en diferentes tipos de dispositivos
  • Samsung Galaxy Nexus diseño / estructura estirable?
  • Calabash Android: Error de ruta de acceso al intentar ejecutar una prueba en un APK
  • Obtener recurso Drawable desde dentro de DefaultHandler
  • Recursos de referencia en javadoc
  • No se encontró ningún recurso que coincida con el nombre dado
  • ¿Cuándo y por qué se debe utilizar getResources ()?
  • Cómo averiguar qué recursos no se utilizan en una aplicación para Android
  • No se puede agregar el archivo de tipo de recurso de id en el proyecto de biblioteca de android
  • La biblioteca de Android no lanza sus recursos a otros proyectos
  • Cómo encontrar View from string en vez de R.id
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.