update tools studio full configurar actualizar android android-gradle

android - tools - Gradle resValue produce recursos de cadena duplicados



install gradle android studio (2)

Mi archivo de manifiesto de Android define el nombre de la aplicación de la siguiente manera:

android:label="@string/app_name"

Existe una entrada correspondiente para nombre_aplicación en res / values ​​/ strings.xml

Ahora, en mi build.gradle, redefino el nombre de la aplicación para la versión beta de la siguiente manera:

buildTypes { beta { applicationIdSuffix ".beta" debuggable true resValue "string", "app_name", "MyTest Beta" } }

Sin embargo, cuando ensamblo el paquete, Gradle se queja de un recurso de cadena duplicado.

Simplemente podría eliminar el token app_name de string.xml. Sin embargo, en ese caso, Android Studio informa un problema con el archivo de manifiesto.

¿Cómo puedo solucionar esto? Saludos.


Me encontré con el mismo problema también. Mi solución es usar Manifest-placeholder .

<application android:label="${APP_NAME}" tools:replace="android:label">

En su cierre defaultConfig , configure el valor

defaultConfig { addManifestPlaceholders([APP_NAME: "@string/app_name"]) }

Y cambia ese valor en tus sabores.

buildTypes { beta { applicationIdSuffix ".beta" debuggable true addManifestPlaceholders([APP_NAME: "MyTest Beta"]) } }

Retirarse:

  • HardCode appName en el sabor. (que puede o no ser un trato)

Para solucionar ese inconveniente, puede combinar Manifest-placeholder y resValue , que es crear un recurso usar resValue y cambiar android:label a su recurso.


No debería tener que meterse con un ''resValue''. Puede usar el conjunto de orígenes de depuración que le permitirá redefinir otras cadenas en depuración también. Cree el siguiente archivo y redefina la cadena ''app_name'' allí.

src/debug/res/values/strings.xml

Solo asegúrate de no tener nada parecido a lo siguiente en tus buildScreen de build.gradle

debug.setRoot(''build-types/debug'')