fob*_*ter 1 android manifest gradle
我有几个不同的Gradle buildTypes,我正在尝试为每个buildTypes分别指定Google C2D_MESSAGE权限名称,因为我不能在手机上安装不同的应用程序,因为它们共享一个权限名称.但我遇到了"遗失名称属性"错误.
所以我在build.gradle中做了类似的事情:
buildType2 {
applicationIdSuffix '.suffix1'
...
resValue 'string', 'gcmPermission', "com.mypackage.suffix1.permission.C2D_MESSAGE"
}
Run Code Online (Sandbox Code Playgroud)
在我的AndroidManifest.xml中:
<permission
android:name="@string/gcmPermission"
android:protectionLevel="signature" />
<uses-permission android:name="@string/gcmPermission" />
Run Code Online (Sandbox Code Playgroud)
但是,我在构建时遇到以下错误:
AndroidManifest.xml:19: missing name attribute in element <permission>.
Run Code Online (Sandbox Code Playgroud)
我通过将permission-和uses-permission元素中的package-name替换为占位符来解决问题,占位符由gradle自动替换为buildtypes和/或productFlavors:
<permission
android:name="${applicationId}.permission.C2D_MESSAGE"
android:protectionLevel="signature"/>
<uses-permission android:name="${applicationId}.permission.C2D_MESSAGE"/>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2105 次 |
| 最近记录: |