Gradle "manifiesto requiere un sustituto de posición" error, pero manifestPlaceholders suministra un valor

Estoy intentando realizar la substitución dentro del archivo de AndroidManifest.xml de la extensión android de build.gradle pero estoy consiguiendo 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 este es un snipped de la 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 he intentado agregar el manifestPlaceholders en el buildTypes es decir

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

}

Pero sigo recibiendo el mismo error.

¿Por qué hay un error al requerir una sustitución de marcador de posición cuando se proporciona uno en los manifestPlaceholders?

2 Solutions collect form web for “Gradle "manifiesto requiere un sustituto de posición" error, pero manifestPlaceholders suministra un valor”

Sólo tiene que añadir a la matriz. Usted lo está reemplazando. Hacer esto:

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

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

Debe agregar el marcador de posición applicationId al gradle de aplicación. Esto sucede con la integración de Firebase, después de actualizar a Gradle 2.2.0-alpha1

 android { ... defaultConfig { applicationId "com.example.my.app" ... } } 

Consulte: No se puede obtener el proveedor com.google.firebase.provider.FirebaseInitProvider

  • Al ser dicho proyecto no está usando el sistema de compilación gradle cuando es
  • Android Studio 2.3 Actualizar no abrir la aplicación
  • No se puede construir el proyecto de biblioteca Bintray Gradle - ClassNotFoundException
  • Ejecute la tarea antes de la compilación mediante el complemento Android Gradle
  • Android Flavors, ContentProviders, SyncAdapters y AccountManager
  • Error de gradle de estudio de Android con excepción de nivel superior
  • Proveedor de contenido de Android y Gradle productFlavours
  • Android Studio 0.4: No se pudo encontrar el método jniDir ()
  • ¿Cuál es la mejor práctica para compartir clases entre una aplicación de Wear y Android?
  • Error: Error de ejecución para la tarea ': app: mergeDebugResources'. > Java.lang.ArrayIndexOutOfBoundsException (sin mensaje de error)
  • Android: Skip Gradle "testClasses" tarea para un proyecto de dependencia
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.