Uso de $ {applicationId} en el manifiesto de la biblioteca

Estoy trabajando en un SDK que utiliza un ContentProvider interno, me gustaría usar este SDK en algunos proyectos y declararlo en el manifiesto de la biblioteca, por lo que he intentado esto:

<provider android:name=".core.MyContentProvider" android:authorities="${applicationId}" android:exported="false"/> 

Lo que sucede es que el $ {applicationId} se reemplaza con el nombre del paquete de la biblioteca y no el top apk relatedId …

¿Hay una manera de asegurarse de que el lanzamiento de applicationId se colocaría en el valor de android: authorities ?

Estaba funcionando en el mismo problema con varias variaciones diferentes y identificaciones únicas, y terminó para arriba ir con la substitución de una llave del placeholder cuando Gradle está construyendo la app, algo así como:

 android.applicationVariants.all { variant -> variant.outputs.each { output -> output.processManifest.doLast{ replaceInManifest(output, 'P_AUTHORITY', variant.applicationId) } } } def replaceInManifest(output, fromString, toString) { def manifestOutFile = output.processManifest.manifestOutputFile def updatedContent = manifestOutFile.getText('UTF-8').replaceAll(fromString, toString) manifestOutFile.write(updatedContent, 'UTF-8') } 

Y luego en el manifiesto:

 <provider android:name=".core.MyContentProvider" android:authorities="P_AUTHORITY" android:exported="false"/> 

Eso es muy útil varias veces

  • Error en la actualización del proyecto de Google Play Services en Android Studio
  • Android gradle build System.getEnv ("RELEASE_PASSWORD") devuelve null
  • Builg.gradle: cómo ejecutar código sólo en el sabor seleccionado
  • Configuración de la firma de depuración en los sabores de producto de Gradle
  • Gradle assembleDebug y preDexDebug fallan incluso para nuevo proyecto
  • Gradle - biblioteca duplicados en dependencias
  • Agregar un proyecto .jar a androidstudio.
  • No se pudo encontrar la información de instrumentación para: ComponentInfo {} - error intentando probar en IntelliJ con Gradle
  • Error en el corredor al realizar pruebas con Robolectric
  • ¿Cómo establezco el nivel de api mínimo para los proyectos en Android Studio?
  • Gradle Android Plugin: Gancho en la tarea posterior a la compilación para todos los sabores del producto
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.