安装应用程序被播放保护屏蔽

当尝试安装已签名的应用程序时(app-release。Apk) ,则会显示一个“ BlockbyPlay Protection”警告,而该应用程序并未安装。但是,一个未签名的应用程序(app-debug。Apk)可以安装没有问题。

错误消息:

Play Protection 不承认这个应用程序的开发者。来自不知名开发者的应用程序有时是不安全的。

为什么会出现这个错误? 解决方案是什么?

image of Error

195986 次浏览

尝试创建一个新的密钥存储库并用旧的密钥存储库替换,然后重新生成一个新的已签名的 APK。

更新: 注意,如果使用服务器的 http 连接,应该使用 SSL。

看看: https://developer.android.com/distribute/best-practices/develop/understand-play-policies

我找到了解决办法: 你可浏览以下连结,提交申请。

游戏保护上诉呈交表格

过几天,问题就会解决

Google play 通过 你的钥匙店找到你作为开发者。

也许你的国家知识产权被禁止在谷歌当你生成你的新密钥存储。

更改您的 IP 地址并生成新的密钥存储库,问题将得到解决。

如果没有成功,在 Android Studio 中使用另一个 Gmail 并生成新的密钥存储库。

解决方案在于在生成签名的 apk 时创建一个新密钥。 这对我来说没什么大不了的。

  1. 点击构建
  2. 单击生成签名的 Bundle/APK..。
  3. 选择 Bundle/APK (在我的示例中为 APK)并单击 Next
  4. 单击 create new (确保计算机上有密钥存储库路径)
  5. 完成所有工作后,单击 Finish 生成已签名的 apk

当您安装时,警告将不会出现。

对我来说唯一有效的解决方案是使用 java keytool 并生成一个。keystore文件命令行,然后使用该 .keystore文件签名我的应用程序

您可以在这个目录 C:\Program Files\Java\jre7\bin中找到 java 密钥工具

打开一个命令窗口,切换到该目录并输入如下命令

keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000

Keytool 提示您提供密钥存储库、您的姓名、公司等的密码。请注意,在最后一个提示符中,您需要输入 yes。

然后,它将密钥存储库生成为一个名为 my-release-key 的文件。你所在的目录中的密钥存储库。密钥存储库和密钥受您输入的密码保护。密钥存储库包含一个密钥,有效期为10000天。别名是以后在签名应用程序时引用此密钥存储库时使用的名称。

有关 Keytool 的详细信息,请参阅文档: http://docs.oracle.com/javase/6/docs/technotes/tools/windows/keytool.html

更多有关 Android 应用程序签名的信息,请点击这里: http://developer.android.com/tools/publishing/app-signing.html

如果您正在使用像 google analyticsamplitude这样的跟踪器,并且您试图在 Google Play之外的其他平台上发布您的应用程序,那么用户就会看到这个错误。因此,有两种可能的解决方案:

  1. 在你的应用程序中使用特殊的跟踪器(firebase 和 appetrica 都经过测试,没有问题)
  2. Google Play中发布你的应用程序

更新: 以下方法不再有效。

这不是解决方案,但是您可以使用调试密钥对 释放构建进行签名,以避免阻塞来自 GooglePlayProtection 的安装。似乎播放保护不会警告与自动生成的 debug.keystore签署的构建。

请注意,您的调试版本不是 没签名,它们只是用 调试键签名。

当然,您不能将构建用于生产分发(Google Play、 Amazon 等) ,但是对于需要高频反馈循环的生产前内部测试来说,它仍然是值得的。

通过在 build.gradle中添加配置,您可以添加一个任务来使用 debug. keystore 构建发行版,比如:

android {
buildTypes {
// add after the `release` definition
releaseDebugKey { initWith release }
}


signingConfigs {
// use debug.keystore for releaseDebugKey builds
releaseDebugKey { initWith debug }
}
}

然后执行 ./gradlew assembleReleaseDebugKey来构建带有调试键的发布版本。

摆脱这种警告有三种选择:

  1. 您需要禁用播放保护在播放商店-> 播放保护-> 设置图标-> 扫描设备的安全威胁
  2. 在 Google Play Store 发布应用程序
  3. 提交 呼吁游戏保护

我为那些仍然在寻找解决这个问题的方法的人添加了这个答案,如果你不想在 Playstore 上上传你的应用程序,那么暂时有一个解决这个问题的方法。

谷歌正在提供安全设备验证 api,你只需要在你的应用程序中调用一次,然后你的应用程序将不会被阻止播放保护:

以下是相关链接:

Https://developer.android.com/training/safetynet/attestation#verify-attestation-response

示例代码项目链接:

Https://github.com/googlesamples/android-play-safetynet

它是由于过期的调试证书 只需删除位于

C:\Users\.android\

构建项目之后,构建工具将重新生成一个新的密钥,它将工作得很好。 这里有一个参考:

https://developer.android.com/studio/publish/app-signing

我通过根据签名证书详细信息更改应用程序包名称来解决这个问题。首先,我用 com.foo.xyz 创建了应用程序 但我的证书组织是’酒吧’。所以我改变了我的软件包名为 com.bar.xyz,现在没有谷歌发挥保护警告!

没有非常精确的方法来解决这个问题,但是下面的任务可以有效地解决这个问题

  • 单击“无效缓存/重新启动”

  • 执行 Android Studio 的登录过程

  • 单击生成带签名的 Bundle/APK

  • 完整填写所有“生成签名包”信息。

  • 不要使用相同的密码。请确保您的密码在 “生成签名捆绑包” 不同。最好输入代码为01的美国地址

  • 它可能对波斯语很敏感,所以在程序中最好不要用波斯语写。用英语编写程序菜单,并在下次更新中使用波斯语

  • 删除额外权限

  • 最后,访问下面的站点并请求进行故障排除 Https://support.google.com/googleplay/android-developer/answer/2992033?hl=en

  • 正确填写姓和名

  • 例如,在 Dropbox 中上传安装文件,并复制链接

  • 如果您正在使用 Dropbox,请确保在 链接到 ,然后提交它或使用链接缩短网站。

  • 如果您的请求未被批准,请缩短安装文件的链接 例如,使用 < a href = “ https://bit.ly”rel = “ nofollow noReferrer”> https://bit.ly 站点

  • 在描述部分,解释问题。为了您的方便,我将 给你留下一个示例文本:

     Greetings to the esteemed Google Team
    
    
    I am sending this request to fix the "Blocked by Pay Protect" error
    
    
    ****{Write your app info and your reasons}****
    
    
    Fast, simple, free and lightweight, no annoying ads ,This app does not collect and store user data!
    Also, no unnecessary cost is imposed on the user and is completely free , It
    also certifies that this app does not harm user privacy and is not harmful to users
    
    
    Thank you
    
  • 如果您没有收到确认电子邮件,请在几天后再次重复该请求

如果有硬件更改,请尝试重新下载或重新创建 jks 文件。

我也面临这样的问题,它发生在我的 SSD 从一台电脑到另一台电脑。这暗示了没有必要将应用程序发送到 Google 进行验证: 一个旧的 apk 文件在没有任何警告的情况下正在安装。所以我把硬盘上的 android.jks 换成了云端的,创建了一个签名的 apk,问题就解决了。

在真正的设备上安装应用程序进行调试后,我一直遇到这个问题。

enter image description here

问题在于,在清单文件的主要活动中出现了 android:exported="true"属性。我删除了它,播放保护警告消失了。