Android 安装应用程序被play protect阻止
当尝试安装已签名的应用程序(app release.apk)时,将显示“播放保护阻止”警报,并且该应用程序未安装。但是,可以毫无问题地安装未签名的应用程序(app debug.apk) 错误消息: Play Protect无法识别此应用程序的开发人员。来自未知开发者的应用程序有时可能不安全 为什么会发生这种错误?解决办法是什么Android 安装应用程序被play protect阻止,android,signature,google-play-protect,Android,Signature,Google Play Protect,当尝试安装已签名的应用程序(app release.apk)时,将显示“播放保护阻止”警报,并且该应用程序未安装。但是,可以毫无问题地安装未签名的应用程序(app debug.apk) 错误消息: Play Protect无法识别此应用程序的开发人员。来自未知开发者的应用程序有时可能不安全 为什么会发生这种错误?解决办法是什么 尝试创建新密钥存储并替换为旧密钥存储,然后重建新的已签名APK 更新:请注意,如果您在服务器上使用http连接,则应使用SSL 看看:我找到了解决方案: 转到下面的链接并
尝试创建新密钥存储并替换为旧密钥存储,然后重建新的已签名APK 更新:请注意,如果您在服务器上使用http连接,则应使用SSL 看看:我找到了解决方案: 转到下面的链接并提交您的申请
几天后,问题将得到解决Google play通过您的密钥库找到您作为开发人员 当您生成新密钥库时,您的国家/地区IP可能在Google上被禁止 更改您的IP地址并生成新的密钥库,问题将得到解决
如果没有成功,请在Android Studio中使用另一个Gmail并生成新密钥库。解决方案在于在生成已签名的apk时创建一个新密钥。 这对我来说很管用
安装时,警告不会出现 唯一对我有效的解决方案是使用java keytool并在命令行中生成一个.keystore文件,然后使用该.keystore文件对我的应用程序进行签名 您可以在此目录
C:\Program Files\java\jre7\bin
打开一个命令窗口,切换到该目录,然后输入如下命令
keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
Keytool提示您提供密钥库、您的姓名、公司等的密码。请注意,在最后一次提示时,您需要输入yes
然后,它在您所在的目录中将密钥库生成为名为my-release-key.keystore的文件。密钥库和密钥受您输入的密码保护。密钥库包含一个密钥,有效期为10000天。别名是您稍后将使用的名称,用于在签署应用程序时引用此密钥库
有关Keytool的更多信息,请参阅以下位置的文档:
有关签署Android应用程序的更多信息,请点击此处:如果您正在使用一些跟踪器,如
google analytics
或amplitude
,并且您试图在google Play
以外的其他平台上发布应用程序,则用户会出现此错误。因此,有两种可能的解决方案:
googleplay
不是解决方案,但您可以使用调试密钥对发布版本进行签名,以避免从Google Play Protect阻止安装。对于使用自动生成的
debug.keystore
签名的生成,Play Protect似乎不会发出警告
请注意,调试生成不是未签名的,它们只是使用调试密钥进行签名
当然,您不能将构建用于生产分发(Google Play、Amazon等),但它仍然值得用于生产前内部测试,这需要一个高频反馈循环
通过在build.gradle
中添加配置,可以将任务添加到带有debug.keystore的build release中,类似于:
android {
buildTypes {
// add after the `release` definition
releaseDebugKey { initWith release }
}
signingConfigs {
// use debug.keystore for releaseDebugKey builds
releaseDebugKey { initWith debug }
}
}
然后执行
/gradlew assembleeresdebugkey
以使用调试键构建发布版本。有三个选项可以消除此警告:
我为其他仍在寻求解决此问题的方法的人添加此答案。如果您不想在playstore上上载应用程序,则暂时有解决此问题的方法 谷歌正在提供安全设备验证api,您只需在应用程序中调用一次,之后您的应用程序将不会被play protect阻止: 以下是链接: 示例代码项目的链接:
这是由于调试证书过期 只需删除位于的
debug.keystore
C:\Users\.android\
在构建项目之后,构建工具将重新生成一个新密钥,它将正常工作。
以下是参考资料:
https://developer.android.com/studio/publish/app-signing
我通过根据签名证书详细信息更改应用程序包名称来解决此问题。首先,我使用com.foo.xyz创建了应用程序
但我的证书组织是“bar”。所以我把包名改为com.bar.xyz,现在没有google play保护警告 可能是因为大多数购买的证书的最大有效期大约在去年。设置过期日期大于50年。我本月创建了此应用程序,并将签名的有效期(年)设置为25年years@MostafaAzadi,Amirhosein我也有同样的问题。你找到什么了吗?是的,看起来很可笑。更糟糕的是,我只有在第一次安装应用程序时才会看到这个弹出窗口。即使我接受并安装了它,在下一次安装时,它会记录“安装被悄悄阻止”,并且我会在UI上收到一条“应用程序未安装”的消息。此时,只有完全禁用播放保护或清除设置中的播放存储数据,我才能再次弹出。这发生在我们使用与Play Store中的数十个其他应用程序相同的脚本生成的密钥上,这些应用程序工作正常。@Amirhosein感谢您的回答。我的应用甚至还没有发布到playstore。所以这不可能是游戏商店政策违反者