警告您的 Apk 正在使用需要隐私政策的权限:(android.permission.READ_PHONE_STATE)
Warnings Your Apk Is Using Permissions That Require A Privacy Policy: (android.permission.READ_PHONE_STATE)
清单中未添加 android.permission.READ_PHONE_STATE。许可。
为什么我上传新的apk版本时出现错误,下面出现错误。
您的应用有一个版本代码为 1 的 apk,它请求以下权限: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>
如果您在 > android 6.0 的设备上测试您的应用程序,您还必须明确要求用户授予权限。
如您所见,here READ_PHONE_STATE
处于危险级别。
如果权限具有危险级别,则用户必须手动接受或不接受此权限。您别无选择,您必须这样做
要从您的 activity 执行此操作,请执行以下代码:
如果用户使用 Android M 并且没有授予权限,它会请求它。
public static final int READ_PHONE_STATE_PERMISSION = 100;
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.M && checkSelfPermission(Manifest.permission.READ_PHONE_STATE)
!= PackageManager.PERMISSION_GRANTED) {
requestPermissions(new String[]{Manifest.permission.READ_PHONE_STATE}, READ_PHONE_STATE_PERMISSION);
}
然后在您的 activity
中覆盖 onRequestPermissionsResult
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
switch (requestCode){
case READ_PHONE_STATE_PERMISSION: {
if (grantResults[0] == PackageManager.PERMISSION_GRANTED){
//Permission granted do what you want from this point
}else {
//Permission denied, manage this usecase
}
}
}
}
您应该阅读 this article 以了解更多信息
这可能是因为任何第三方库都可能包含该许可,所以根据我在该领域的经验,您必须添加关于该特定信息的隐私政策,这意味着如果您要求在您的应用程序中获得帐户许可您必须通过您的隐私政策文件声明我们使用该数据,即电子邮件地址或任何出于登录 google 玩游戏等原因的数据。
也可以这样做
<uses-permission android:name="android.permission.READ_PHONE_STATE" tools:node="remove" />
希望这会指导您如何处理此警告为您的应用创建隐私政策并将其附加到商品详情。
您的应用 manifest.xml 具有这些权限,可以从您的设备访问信息,但您在 Play 商店提交时没有隐私政策 link。所以你收到这个警告。
需要该应用的隐私政策如果您的应用处理个人或敏感用户数据
更新 1
Google Play 管理中心的隐私政策设置已更改位置。
在 Google Play 控制台中,
Select 商店状态 → 应用内容.
根据隐私政策。
更新 2
Select 政策 → 应用程序内容 在最左下角。
根据隐私政策。
只需尝试将此行添加到您的清单文件中:
<uses-permission android:name="android.permission.READ_PHONE_STATE" tools:node="remove" />
并将属性 xmlns:tools="http://schemas.android.com/tools"
添加到您的 <manifest>
标记以定义命名空间工具
来自 documentation 的 tools:node="remove"
:
Remove this element from the merged manifest. Although it seems like you should instead just delete this element, using this is necessary when you discover an element in your merged manifest that you don't need, and it was provided by a lower-priority manifest file that's out of your control (such as an imported library).
您是否在应用中使用 AdSense 或其他广告,或者 Google Analytics?我认为如果您这样做,即使您的清单中没有 android.permission.READ_PHONE_STATE,广告库也会添加它。
有免费模板可以帮助您制定隐私政策。
这是我从 Google 收到的关于它的电子邮件:
Hello Google Play Developer, Our records show that your app, xxx, with
package name xxx, currently violates our User Data policy regarding
Personal and Sensitive Information. Policy issue: Google Play requires
developers to provide a valid privacy policy when the app requests or
handles sensitive user or device information. Your app requests
sensitive permissions (e.g. camera, microphone, accounts, contacts, or
phone) or user data, but does not include a valid privacy policy.
Action required: Include a link to a valid privacy policy on your
app's Store Listing page and within your app. You can find more
information in our help center. Alternatively, you may opt-out of this
requirement by removing any requests for sensitive permissions or user
data. If you have additional apps in your catalog, please make sure
they are compliant with our Prominent Disclosure requirements. Please
resolve this issue by March 15, 2017, or administrative action will be
taken to limit the visibility of your app, up to and including removal
from the Play Store. Thanks for helping us provide a clear and
transparent experience for Google Play users. Regards, The Google Play
Team
您项目中的依赖项将添加自己的权限。
请执行以下操作以查找 "READ_PHONE_STATE" 的来源。
- 重建您的 android 应用程序
- 在 android 工作室中按 "Ctrl+Shift+F"(基本上在您喜欢的编辑器中进行搜索)。
- 搜索 "READ_PHONE_STATE",您会在重新生成的清单文件(不是您最初创建的清单文件)中找到该条目。通过它的路径,您可以知道从哪个依赖项中添加了权限。
您需要在清单文件中指定 min
和 target sdk
版本。
如果不是,android.permission.READ_PHONE_STATE
将在导出 apk 文件时自动添加。
<uses-sdk
android:minSdkVersion="9"
android:targetSdkVersion="19" />
1.You 需要在您的网站上创建隐私政策页面并针对您请求的权限更新您的隐私政策。
2.Update 新 SDK 删除不需要的权限并重新提交应用程序。
- 可能您使用的是 9.6.0 版本的 PlayServices。那你应该更新它,这是图书馆的错误。更多信息 here.
或
添加
<uses-permission
android:name="android.permission.READ_PHONE_STATE"
tools:node="remove" />
到您的清单文件。
您应该放弃 android.permission.READ_PHONE_STATE
权限。将此添加到您的清单文件中:
<uses-permission
android:name="android.permission.READ_PHONE_STATE"
tools:node="remove" />
2018年更新:
对于 AdMob 用户,这会导致 AdMob 版本 12.0.0(当前为最新版本)。它错误地请求 READ_PHONE_STATE 权限,因此即使您的应用程序在清单中不需要 READ_PHONE_STATE 权限,您也无法在 Google Play 控制台中更新您的应用程序(它将告诉您为您的应用创建隐私政策页面,因为您的应用需要此权限)。
看到这个:https://developers.google.com/android/guides/releases#march_20_2018_-_version_1200
此外,他们写道,他们将很快发布 12.0.1 的更新来修复此问题。
目前有些人因为使用 12.0.0
版本的 AdMob 库而面临同样的问题。
更新为12.0.1
。这应该解决它。你可以阅读更多here
我遇到了同样的问题,在将 apk 上传到 Google play 时出现错误。
我在我的应用程序中使用了广告,而且我的清单文件中甚至没有提到 READ_PHONE_STATE 权限。但是我得到了这个错误。然后我更改 build.gradle 文件中广告的依赖项。然后它解决了我的问题。他们在 12.0.1 中解决了这个问题。
compile 'com.google.android.gms:play-services-ads:12.0.1'
这是第三方库。您可以在 build/outputs/logs/manifest-merger-release-report.txt
中找到罪魁祸首
我找到了这个可以为您制定政策并托管的免费网站:
https://www.freeprivacypolicy.com/
然后将其添加到商店列表下的 Play 商店 - 在底部为您从 https://www.freeprivacypolicy.com/
获得的政策添加 public link
如果你使用React Native
这里已经彻底解决了这个问题
https://facebook.github.io/react-native/docs/removing-default-permissions
一步步看你就明白了
public static String getVideoTitle(String youtubeVideoUrl) {
Log.e(youtubeVideoUrl.toString() + " In GetVideoTitle Menu".toString() ,"hiii" );
try {
if (youtubeVideoUrl != null) {
URL embededURL = new URL("https://www.youtube.com/oembed?url=" +
youtubeVideoUrl + "&format=json"
);
Log.e(youtubeVideoUrl.toString() + " In EmbedJson Try Function ".toString() ,"hiii" );
Log.e(embededURL.toString() + " In EmbedJson Retrn value ".toString() ,"hiii" );
Log.e(new JSONObject(IOUtils.toString(embededURL)).getString("provider_name").toString() + " In EmbedJson Retrn value ".toString() ,"hiii" );
return new JSONObject(IOUtils.toString(embededURL)).getString("provider_name").toString();
}
} catch (Exception e) {
Log.e(" In catch Function ".toString() ,"hiii" );
e.printStackTrace();
}
return null;
}
可能是您需要添加或更新您的隐私政策。
您可以使用此模板轻松创建隐私政策
如果您使用包 device_id 获取唯一设备 ID,那么这将在您不知情的情况下添加一个 android.permission.READ_PHONE_STATE
,最终会导致 Play 商店警告。
您可以使用 device_info package for the same purpose without the need of the extra permission. Check this SO thread
如果您仔细阅读消息,您会发现您正在使用相机、麦克风、联系人、存储和 Phone 等权限,并且您没有提供隐私政策。如果这样做,您需要提供隐私政策。您可以在 google
上找到有关 android 隐私政策的更多信息
添加隐私政策In-Play控制台,
查找并select所有应用.
Select 您需要将隐私政策添加到的应用程序。
在页面末尾找到政策。
单击应用程序内容为您的应用程序编辑列表。
找到标有 P隐私政策 的字段并放置您的隐私政策
页面的URL
单击保存,一切顺利。
注意:您需要有一个 public 网页来托管您的隐私政策。 Google Play 商店不会为您托管政策。
我是这样解决这个问题的:
Google 玩控制台
找到App内容->隐私政策
接着
隐私政策URL设置为
您可以提交您的页面。
您需要在 Google Play 管理中心为您的应用提供隐私政策,或移除需要隐私政策的权限。
转到这里: https://play.google.com/console/app/app-content/summary
或者打开您应用的 Google Play 控制台,一直滚动到左侧导航菜单的底部,然后在“政策”标题下点击“应用内容”。
有关何时以及为何需要隐私政策的更多信息,请参阅the docs here。
我无法在 Google 上发布我的应用程序,因为在 Google 上上传应用程序 apk 文件后显示错误,测试“内部测试版本”。
附加的屏幕截图请解决建议如何解决此错误。
在 Mobiroller 应用程序生成器上生成的应用程序。
即使在我看到 [错误消息:“您的 APK 或 Android App Bundle 正在使用需要隐私政策的权限:(android.permission.CAMERA)。”
1在我的应用中的 Mobiroller 中添加了隐私政策。
看到错误消息:“您的 APK 或 Android App Bundle 使用的权限需要隐私政策:(android.permission.CAMERA)。”
清单中未添加 android.permission.READ_PHONE_STATE。许可。
为什么我上传新的apk版本时出现错误,下面出现错误。
您的应用有一个版本代码为 1 的 apk,它请求以下权限: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>
如果您在 > android 6.0 的设备上测试您的应用程序,您还必须明确要求用户授予权限。
如您所见,here READ_PHONE_STATE
处于危险级别。
如果权限具有危险级别,则用户必须手动接受或不接受此权限。您别无选择,您必须这样做
要从您的 activity 执行此操作,请执行以下代码:
如果用户使用 Android M 并且没有授予权限,它会请求它。
public static final int READ_PHONE_STATE_PERMISSION = 100;
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.M && checkSelfPermission(Manifest.permission.READ_PHONE_STATE)
!= PackageManager.PERMISSION_GRANTED) {
requestPermissions(new String[]{Manifest.permission.READ_PHONE_STATE}, READ_PHONE_STATE_PERMISSION);
}
然后在您的 activity
中覆盖onRequestPermissionsResult
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
switch (requestCode){
case READ_PHONE_STATE_PERMISSION: {
if (grantResults[0] == PackageManager.PERMISSION_GRANTED){
//Permission granted do what you want from this point
}else {
//Permission denied, manage this usecase
}
}
}
}
您应该阅读 this article 以了解更多信息
这可能是因为任何第三方库都可能包含该许可,所以根据我在该领域的经验,您必须添加关于该特定信息的隐私政策,这意味着如果您要求在您的应用程序中获得帐户许可您必须通过您的隐私政策文件声明我们使用该数据,即电子邮件地址或任何出于登录 google 玩游戏等原因的数据。
也可以这样做
<uses-permission android:name="android.permission.READ_PHONE_STATE" tools:node="remove" />
希望这会指导您如何处理此警告为您的应用创建隐私政策并将其附加到商品详情。
您的应用 manifest.xml 具有这些权限,可以从您的设备访问信息,但您在 Play 商店提交时没有隐私政策 link。所以你收到这个警告。
需要该应用的隐私政策如果您的应用处理个人或敏感用户数据
更新 1
Google Play 管理中心的隐私政策设置已更改位置。
在 Google Play 控制台中,
Select 商店状态 → 应用内容.
根据隐私政策。
更新 2
Select 政策 → 应用程序内容 在最左下角。
根据隐私政策。
只需尝试将此行添加到您的清单文件中:
<uses-permission android:name="android.permission.READ_PHONE_STATE" tools:node="remove" />
并将属性 xmlns:tools="http://schemas.android.com/tools"
添加到您的 <manifest>
标记以定义命名空间工具
来自 documentation 的 tools:node="remove"
:
Remove this element from the merged manifest. Although it seems like you should instead just delete this element, using this is necessary when you discover an element in your merged manifest that you don't need, and it was provided by a lower-priority manifest file that's out of your control (such as an imported library).
您是否在应用中使用 AdSense 或其他广告,或者 Google Analytics?我认为如果您这样做,即使您的清单中没有 android.permission.READ_PHONE_STATE,广告库也会添加它。
有免费模板可以帮助您制定隐私政策。
这是我从 Google 收到的关于它的电子邮件:
Hello Google Play Developer, Our records show that your app, xxx, with package name xxx, currently violates our User Data policy regarding Personal and Sensitive Information. Policy issue: Google Play requires developers to provide a valid privacy policy when the app requests or handles sensitive user or device information. Your app requests sensitive permissions (e.g. camera, microphone, accounts, contacts, or phone) or user data, but does not include a valid privacy policy. Action required: Include a link to a valid privacy policy on your app's Store Listing page and within your app. You can find more information in our help center. Alternatively, you may opt-out of this requirement by removing any requests for sensitive permissions or user data. If you have additional apps in your catalog, please make sure they are compliant with our Prominent Disclosure requirements. Please resolve this issue by March 15, 2017, or administrative action will be taken to limit the visibility of your app, up to and including removal from the Play Store. Thanks for helping us provide a clear and transparent experience for Google Play users. Regards, The Google Play Team
您项目中的依赖项将添加自己的权限。 请执行以下操作以查找 "READ_PHONE_STATE" 的来源。
- 重建您的 android 应用程序
- 在 android 工作室中按 "Ctrl+Shift+F"(基本上在您喜欢的编辑器中进行搜索)。
- 搜索 "READ_PHONE_STATE",您会在重新生成的清单文件(不是您最初创建的清单文件)中找到该条目。通过它的路径,您可以知道从哪个依赖项中添加了权限。
您需要在清单文件中指定 min
和 target sdk
版本。
如果不是,android.permission.READ_PHONE_STATE
将在导出 apk 文件时自动添加。
<uses-sdk
android:minSdkVersion="9"
android:targetSdkVersion="19" />
1.You 需要在您的网站上创建隐私政策页面并针对您请求的权限更新您的隐私政策。
2.Update 新 SDK 删除不需要的权限并重新提交应用程序。
- 可能您使用的是 9.6.0 版本的 PlayServices。那你应该更新它,这是图书馆的错误。更多信息 here.
或
添加
<uses-permission android:name="android.permission.READ_PHONE_STATE" tools:node="remove" />
到您的清单文件。
您应该放弃 android.permission.READ_PHONE_STATE
权限。将此添加到您的清单文件中:
<uses-permission
android:name="android.permission.READ_PHONE_STATE"
tools:node="remove" />
2018年更新:
对于 AdMob 用户,这会导致 AdMob 版本 12.0.0(当前为最新版本)。它错误地请求 READ_PHONE_STATE 权限,因此即使您的应用程序在清单中不需要 READ_PHONE_STATE 权限,您也无法在 Google Play 控制台中更新您的应用程序(它将告诉您为您的应用创建隐私政策页面,因为您的应用需要此权限)。
看到这个:https://developers.google.com/android/guides/releases#march_20_2018_-_version_1200
此外,他们写道,他们将很快发布 12.0.1 的更新来修复此问题。
目前有些人因为使用 12.0.0
版本的 AdMob 库而面临同样的问题。
更新为12.0.1
。这应该解决它。你可以阅读更多here
我遇到了同样的问题,在将 apk 上传到 Google play 时出现错误。 我在我的应用程序中使用了广告,而且我的清单文件中甚至没有提到 READ_PHONE_STATE 权限。但是我得到了这个错误。然后我更改 build.gradle 文件中广告的依赖项。然后它解决了我的问题。他们在 12.0.1 中解决了这个问题。
compile 'com.google.android.gms:play-services-ads:12.0.1'
这是第三方库。您可以在 build/outputs/logs/manifest-merger-release-report.txt
我找到了这个可以为您制定政策并托管的免费网站:
https://www.freeprivacypolicy.com/
然后将其添加到商店列表下的 Play 商店 - 在底部为您从 https://www.freeprivacypolicy.com/
获得的政策添加 public link如果你使用React Native
这里已经彻底解决了这个问题
https://facebook.github.io/react-native/docs/removing-default-permissions
一步步看你就明白了
public static String getVideoTitle(String youtubeVideoUrl) {
Log.e(youtubeVideoUrl.toString() + " In GetVideoTitle Menu".toString() ,"hiii" );
try {
if (youtubeVideoUrl != null) {
URL embededURL = new URL("https://www.youtube.com/oembed?url=" +
youtubeVideoUrl + "&format=json"
);
Log.e(youtubeVideoUrl.toString() + " In EmbedJson Try Function ".toString() ,"hiii" );
Log.e(embededURL.toString() + " In EmbedJson Retrn value ".toString() ,"hiii" );
Log.e(new JSONObject(IOUtils.toString(embededURL)).getString("provider_name").toString() + " In EmbedJson Retrn value ".toString() ,"hiii" );
return new JSONObject(IOUtils.toString(embededURL)).getString("provider_name").toString();
}
} catch (Exception e) {
Log.e(" In catch Function ".toString() ,"hiii" );
e.printStackTrace();
}
return null;
}
可能是您需要添加或更新您的隐私政策。 您可以使用此模板轻松创建隐私政策
如果您使用包 device_id 获取唯一设备 ID,那么这将在您不知情的情况下添加一个 android.permission.READ_PHONE_STATE
,最终会导致 Play 商店警告。
您可以使用 device_info package for the same purpose without the need of the extra permission. Check this SO thread
如果您仔细阅读消息,您会发现您正在使用相机、麦克风、联系人、存储和 Phone 等权限,并且您没有提供隐私政策。如果这样做,您需要提供隐私政策。您可以在 google
上找到有关 android 隐私政策的更多信息添加隐私政策In-Play控制台,
查找并select所有应用.
Select 您需要将隐私政策添加到的应用程序。
在页面末尾找到政策。
单击应用程序内容为您的应用程序编辑列表。
找到标有 P隐私政策 的字段并放置您的隐私政策
页面的URL单击保存,一切顺利。
注意:您需要有一个 public 网页来托管您的隐私政策。 Google Play 商店不会为您托管政策。
我是这样解决这个问题的: Google 玩控制台 找到App内容->隐私政策 接着 隐私政策URL设置为 您可以提交您的页面。
您需要在 Google Play 管理中心为您的应用提供隐私政策,或移除需要隐私政策的权限。
转到这里: https://play.google.com/console/app/app-content/summary
或者打开您应用的 Google Play 控制台,一直滚动到左侧导航菜单的底部,然后在“政策”标题下点击“应用内容”。
有关何时以及为何需要隐私政策的更多信息,请参阅the docs here。
我无法在 Google 上发布我的应用程序,因为在 Google 上上传应用程序 apk 文件后显示错误,测试“内部测试版本”。 附加的屏幕截图请解决建议如何解决此错误。 在 Mobiroller 应用程序生成器上生成的应用程序。 即使在我看到 [错误消息:“您的 APK 或 Android App Bundle 正在使用需要隐私政策的权限:(android.permission.CAMERA)。” 1在我的应用中的 Mobiroller 中添加了隐私政策。
看到错误消息:“您的 APK 或 Android App Bundle 使用的权限需要隐私政策:(android.permission.CAMERA)。”