У меня есть основной проект, который ссылается на проект библиотеки. Оба они скомпилированы с помощью Gradle.
Это конфигурация по умолчанию для основного файла градиента проекта:
defaultConfig {
applicationId "com.example.app"
minSdkVersion 15
targetSdkVersion 21
versionCode 2
versionName "1.0"
}
И это defaultConfig для файла gradle проекта библиотеки:
defaultConfig {
minSdkVersion 11
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
Как видите, я не объявляю идентификатор приложения внутри библиотеки.
У меня есть разрешение, определенное в моем проекте library, как показано ниже:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.library">
<permission android:name="${applicationId}.permission.C2D_MESSAGE"
android:protectionLevel="signature" />
Когда я создаю проект, applicationId заменяется на com.example.library (имя пакета библиотеки). И это не то, чего я хочу. Я хочу заменить его на com.example.app, так как это applicationId моего приложения.
Если я помещу заполнитель ${applicationID} в файл манифеста приложения, все будет работать.
Кто-нибудь знает, можно ли это реализовать и как?