gpt4 book ai didi

android - 将权限名称指定为 resValue 时出现 "Missing name attribute"错误。

转载 作者:行者123 更新时间:2023-11-29 14:31:13 25 4
gpt4 key购买 nike

我有几个不同的 Gradle 构建类型,我正在尝试为每个构建类型单独指定 Google C2D_MESSAGE 权限名称,因为我无法在手机上安装不同的应用程序,因为它们共享一个权限名称。但是我遇到了“缺少名称属性”错误。

所以我在我的 build.gradle 中做这样的事情:

    buildType2 {
applicationIdSuffix '.suffix1'
...
resValue 'string', 'gcmPermission', "com.mypackage.suffix1.permission.C2D_MESSAGE"
}

在我的 AndroidManifest.xml 中:

<permission
android:name="@string/gcmPermission"
android:protectionLevel="signature" />

<uses-permission android:name="@string/gcmPermission" />

然而,我在构建时遇到了以下错误:

AndroidManifest.xml:19: missing name attribute in element <permission>.

最佳答案

我通过用一个占位符替换 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"/>

关于android - 将权限名称指定为 resValue 时出现 "Missing name attribute"错误。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29306904/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com