错误信息:
为什么会出现这个错误?解决方案是什么?Play Protect不认识此应用程序的开发者。来自未知开发者的应用程序有时可能不安全。
为什么会出现这个错误?解决方案是什么?Play Protect不认识此应用程序的开发者。来自未知开发者的应用程序有时可能不安全。
尝试使用旧证书
我在Github上找到了一个(2017年之前创建的)
https://github.com/patrickfav/uber-apk-signer/blob/main/src/main/resources/debug.keystore
对我有效
在Gradle中:
signingConfigs {
certificate {
storeFile file('debug.keystore')
storePassword "android"
keyAlias "androiddebugkey"
keyPassword "android"
}
}
...
signingConfig signingConfigs.certificate
如果您尝试从.apk文件安装应用程序,则通常会出现此错误。您可以做的第一件事是从手机中的Play Store应用程序中禁用Play Protect:
打开Google Play商店应用程序--> Play Protect --> 点击顶部的设置图标 --> 禁用扫描应用程序以进行安全性检查
注意:建议您在完成安装后再次启用它以确保安全。
现在,在此之后,您应该能够安装该应用程序。如果您仍然收到错误消息,例如单击.apk文件时出现“错误,未安装应用程序”,则表示您已经安装了该应用程序的版本。首先卸载该应用程序,然后您就可以毫无问题地从.apk文件安装该应用程序。
更新:以下方法不再适用。
这并非解决方案,但是您可以使用调试密钥来为签名发布版本,以避免被 Google Play Protect 阻止安装。看起来 Play Protect 不会对使用自动生成的 debug.keystore
签名的版本发出警告。
请注意,您的调试版本并非未经签名,而是使用了 调试 密钥签名。
当然,您不能将此版本用于生产分发(Google Play、Amazon 等),但对于需要高频反馈循环的预生产内部测试仍然很有价值。
您可以通过在 build.gradle
中添加配置来添加使用 debug.keystore 构建 release 的任务,类似如下:
android {
buildTypes {
// add after the `release` definition
releaseDebugKey { initWith release }
}
signingConfigs {
// use debug.keystore for releaseDebugKey builds
releaseDebugKey { initWith debug }
}
}
./gradlew assembleReleaseDebugKey
来使用调试密钥构建发布版本。