警告:您的Apk正在使用需要隐私政策的权限:(android.permission.READ_PHONE_STATE)

132

清单文件中未添加android.permission.READ_PHONE_STATE权限。

为什么上传新版本时会出现以下错误。

您的应用程序具有版本代码1,请求以下权限:android.permission.READ_PHONE_STATE。在APK中使用这些权限的应用程序需要设置隐私政策。

我已经附上了我的Google Play商店帐户的截图。 输入图片说明文字

我的清单文件。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.my.package.name">

    <uses-permission android:name="android.permission.INTERNET" />

    <application
        android:name=".utils.PreferenceManager"
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:largeHeap="true"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity
            android:name=".SplashScreen"
            android:screenOrientation="portrait">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <activity
            android:name=".MainActivity"
            android:screenOrientation="portrait" />

        <activity
            android:name=".CategoryListActivity"
            android:screenOrientation="portrait" />
        <activity
            android:name=".ImagesActivity"
            android:screenOrientation="portrait" />

    </application>

</manifest>

1
你在移除权限之前,清单文件中是否存在该权限?并且你还没有上传新的 APK 吗? - aconnelly
在你的清单文件中添加读取手机状态权限。 - Noorul
2
看看这个:https://dev59.com/cOk5XIcBkEYKwwoY_O-N#42751979 - 0xAliHn
我想提醒您,为了解决这个问题,您必须将所有使用“play-services-”前缀的依赖项从12.0.0更新到12.0.1。因此,这包括任何东西,例如将“play-services-analytics:12.0.0”升级到“play-services-analytics:12.0.1”。这不仅限于play-services-ads,而是所有版本为12.0.0的play-services。 - ChallengeAccepted
我投票关闭此问题,因为https://meta.stackoverflow.com/q/272165/6296561。 - Zoe stands with Ukraine
显示剩余3条评论
22个回答

157

您的应用程序的manifest.xml具有访问您设备信息的权限,但是在提交到Play商店时,您没有隐私政策链接。所以您会得到这个警告。

如果您的应用程序处理个人或敏感用户数据,则需要为应用程序提供隐私政策。

在应用程序的商店列表中添加隐私政策可以帮助透明地了解您如何处理敏感的用户和设备数据。

更新1

Google Play控制台中的隐私政策设置位置已更改。

在Google Play控制台中,
选择商店出现应用内容
隐私政策下。

更新2

在最左边的底部选择策略应用内容
隐私政策下。


26
有没有办法从模板中创建隐私政策? - Daniele
1
我希望您需要展示隐私政策,但您没有网站,可能隐私政策文件将是文本内容,因此最简单的方法是我们可以制作包含所有隐私政策和许可相关信息的Word文档,然后您可以将其上传到任何免费的存储空间,如Dropbox等,然后您可以获取URL以在Play商店提交中使用。 - Deva
3
由于AdMob的原因,他们当前的12.0.0版本会请求READ_PHONE_STATE权限(存在漏洞),即使您的应用程序在清单中没有添加该权限。就是这样。他们表示很快会发布12.0.1更新。 - blackJack
12
是的,它又改变了。在左侧菜单中向下滚动到“策略”部分,然后点击“应用内容”。然后隐私政策将首先列出,点击“开始”。 - John Harding
1
@Daniele的免费模板可以在这里获取。https://app-privacy-policy-generator.firebaseapp.com/ - behrad
显示剩余5条评论

45

只需尝试将此行添加到您的清单文件中:

<uses-permission android:name="android.permission.READ_PHONE_STATE" tools:node="remove" />

在您的<manifest>标记中添加属性xmlns:tools="http://schemas.android.com/tools"以定义命名空间工具,详见文档关于tools:node="remove"的说明:

从合并后的清单中删除此元素。尽管您应该只需删除此元素,但是当您发现要删除的元素来自于优先级较低且不受您控制(例如导入库)的清单文件时,使用此选项是必要的。


2
这也规避了在某人要下载您的应用程序时出现的讨厌的权限警告...必备。 - kwishnu
2
如果使用此代码,您将无法使用READ_PHONE_STATE。 - Felix
4
【致命错误】:50:95:与元素类型“uses-permission”相关联的属性“tools:node”的前缀“tools”未绑定。 - manish kumar
2
在清单头中使用这个吗? <manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" ...... /> - Martin B

8

这是第三方库。你可以在build/outputs/logs/manifest-merger-release-report.txt中找到罪魁祸首。


6
您的项目中的依赖项将添加其自己的权限。请执行以下操作以查找“READ_PHONE_STATE”是从哪里来的:
  1. 重新构建您的Android应用程序。
  2. 在Android Studio中按“Ctrl + Shift + F”(基本上在您选择的编辑器中进行全局搜索)。
  3. 搜索“READ_PHONE_STATE”,您会在重新生成的清单文件中找到该条目(而不是您最初创建的那个)。通过其路径,您可以知道该权限是从哪个依赖项添加的。 enter image description here

6

在清单文件中,您需要指定最小目标 SDK版本。
如果不这样做,将自动添加android.permission.READ_PHONE_STATE权限到导出的 APK 文件中。

<uses-sdk
        android:minSdkVersion="9"
        android:targetSdkVersion="19" />

太好了!问题解决了。当我没有指定目标时,它被添加进去了。 - Tarun Varshney

6
可能是因为某个第三方库包含了该权限,根据我的经验,您需要针对特定信息添加隐私政策,这意味着如果您在应用程序中请求获取账户权限,那么您必须声明使用隐私政策文件中的数据,例如邮箱地址或其他原因,如登录 Google Play 游戏。此外,还可以执行此操作。
<uses-permission android:name="android.permission.READ_PHONE_STATE" tools:node="remove" />

希望这可以指导你如何解决此警告:为你的应用创建隐私政策并将其附加到商店列表中。

谢谢 :) 但这将起作用 <uses-permission android:name="android.permission.READ_PHONE_STATE" tools:node="remove" /> ? - PriyankaChauhan

5

5

5
你需要在Google Play控制台为应用提供隐私政策,或删除需要隐私政策的权限。
点击这里: https://play.google.com/console/app/app-content/summary 或打开你的应用在Google Play控制台,向左滚动到导航菜单的底部,在“政策”标题下点击“应用内容”。
有关何时以及为什么需要隐私政策的更多信息,请参见此处的文档

3

目前,一些人使用AdMob库的12.0.0版本会遇到相同的问题。

请将其更新为12.0.1。这应该可以解决问题。您可以在此处阅读更多信息


鼓励添加外部资源的链接,但请在链接周围添加一些上下文,以便您的同行用户了解其存在及原因。始终引用重要链接中最相关的部分,以防目标站点无法访问或永久关闭。 - baduker
这对我来说是解决方法。在A-Studio中,您可以查看“合并清单”,它指向Google Play库。 - Matt D.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接