update studio configurar actualizar android gradle android-gradle

configurar - update gradle android studio



Gradle "manifiesta requiere una sustituciĆ³n de marcador de posiciĆ³n" error pero manifestPlaceholders proporciona un valor (3)

Estoy tratando de realizar una sustitución dentro del archivo AndroidManifest.xml de la extensión build.gradle de Android, pero estoy obteniendo este error:

AndroidManifest.xml:89:16 Error: Attribute uses-library#com.company.platform.${encoding}@name at AndroidManifest.xml:89:16 requires a placeholder substitution but no value for <encoding> is provided. /Users/Company/Desktop/Checkout/android/Project/app/src/main/AndroidManifest.xml:0:0 Error: Validation failed, exiting :app:processDebugManifest FAILED

Este es un fragmento del archivo de manifiesto:

... </receiver> <uses-library android:name="com.company.platform.${encoding}" /> </application> ...

Y esto es un recorte de build.gradle:

android { compileSdkVersion 23 buildToolsVersion "23.0.1" defaultConfig { applicationId "com.company.app" minSdkVersion 23 targetSdkVersion 23 versionName cityVersion setProperty("archivesBaseName", "City_$versionName") manifestPlaceholders = [encoding: "some value"] manifestPlaceholders = [version: cityVersion] }

También intenté agregar el manifestPlaceholders en buildTypes, es decir,

buildTypes { release { minifyEnabled true shrinkResources true manifestPlaceholders = [encoding: deviceEncoding] manifestPlaceholders = [version: cityIDVersion] } debug { manifestPlaceholders = [encoding: deviceEncoding] manifestPlaceholders = [version: cityIDVersion] }

}

Pero sigo teniendo el mismo error.

¿Por qué hay un error al respecto que requiere una sustitución de marcador de posición cuando se proporciona uno en el manifestPlaceholders?


Solo necesita agregar a la matriz. Lo estás reemplazando. Hacer esto:

manifestPlaceholders = [encoding: "some value", version: cityVersion]

Al declarar manifestPlaceholders dos veces para el mismo tipo de sabor / compilación, está reemplazando el anterior. Después de que se reemplazó la anterior, su compilación falló porque la propiedad ya no existe.



Había dejado los símbolos $ {} alrededor de mi valor:

<meta-data android:name="net.example" android:value="${XXXX}" />