APK安装失败:[INSTALL_FAILED_VERIFICATION_FAILURE]

86

我正在尝试在运行Jelly Bean (4.2)的AOSP构建设备上安装APK。

当我使用“adb install my.apk”时,出现错误:

[INSTALL_FAILED_VERIFICATION_FAILURE]

我尝试使用“testsign.jar”对APK进行“签名”,但结果没有改变。


2
在设置->安全中,“允许未签名应用程序”已启用吗? - Cookster
1
该设置不存在,但“未知来源”复选框已被选中... - dcarr622
15个回答

122
您需要在ADB安装期间禁用APK验证。如果Security中的设置已被灰显或未按预期工作,请通过shell连接到设备,根据您的API级别(Global、System、Secure),运行以下命令来确定设置所在的设置数据库: $ adb shell settings put global verifier_verify_adb_installs 0 如果能够成功设置,则会防止在ADB上检查APK。
有时,您还需要使用以下命令禁用软件包验证器: $ adb shell settings put global package_verifier_enable 0 在KitKat上,您可以在此处查看这些设置存储在全局数据库中: http://androidxref.com/4.4.2_r2/xref/frameworks/base/core/java/android/provider/Settings.java#5015

这很有帮助,但缺少我需要放置该命令的确切位置。感谢这个答案,我找到了缺失的步骤。 - Sufian
4
请问这里的“verify APK”是什么意思?是指签名验证吗?我的应用好像有一个(我想没有任何没有签名的apk)。 - Saleh
2
“验证”也需要网络,因此如果您打开了飞行模式,它也会失败。 - mjs

80

前往开发人员选项并通过USB禁用验证应用程序,然后您就可以无任何问题地安装.apk


51

在您的手机中,请进入:

设置/开发者选项/USB调试安全设置

并将其禁用。


2
这个答案与这个有何不同? - jpp

37

以下是适用于Android 6.0设备的安装步骤:

  1. 设置 > 开发者选项 > 关闭USB调试下的应用验证,请参考第一张图片。

然后

  1. 设置 > 安全 > 打开未知来源

最后

  1. 不要忘记卸载您的应用程序并重新开始。

前往 设置 > 开发者选项 > 关闭应用验证

设置 > 安全 > 打开未知来源


对我有用。仅步骤1是不够的,步骤2也是必需的。这是正确的答案。 - Haomin

12

实际问题是Google Play阻止了您的应用程序!

  1. 打开Play商店
  2. 打开抽屉并选择Play Protect
  3. 打开设置,关闭“使用Play Protect扫描应用程序”和“改善有害应用程序检测”
  4. 现在轮到你了。重建您的应用并启动它!祝你好运!

9

更新答案:随着最新的Android更新,由于Play Protect,在安装APK时可能会出现以下错误:

Failed to finalize session : INSTALL_FAILED_VERIFICATION_FAILURE
Session 'app': Error Installing APKs

为了解决这个问题(供开发人员使用),您可以按照此处所示的方式禁用Play Protect:安装应用程序被Play Protect拦截。请注意保留HTML标记。

1
禁用Play Protect解决了我的问题! - Mohammed Alawneh
3
我正在尝试在Genymotion上运行应用程序。关闭Play Protect解决了这个问题。谢谢! - Ajji

5

您需要允许未经签名的应用程序。 安卓系统正在阻止安装。 请在设置中允许安装非市场应用。


这个设置在哪里?有一个“验证应用”复选框,但是它没有被选中。http://i.imgur.com/AX20lnG.png - dcarr622
它也被变灰了...不确定这是什么意思。 - dcarr622
你是否使用USB连接?USB调试是否已启用? - apollosoftware.org
应用程序已安装吗?当它们的签名不同时,会显示这个信息。 - Cookster
1
+1 对于所有出色的建议。这是我的建议:您确定您尝试安装它的地方有足够的空间吗? - Mr. Developerdude
触摸空格键。这是经常被忽视的关键要素。 - apollosoftware.org

4
除了"settings put global verifier_verify_adb_installs 0"之外,在我的情况下我还需要将package_verifier_enable设置为0才能使它起作用。
例如:
adb shell

settings put global package_verifier_enable 0

2
删除所有目录 -> {.gradle, .idea, app/build },然后重新安装,这对我有用。

删除Idea和Gradle对我有用。 - Rohaitas Tanoli

1

以上的建议都对我没用,但是恢复出厂设置解决了问题。


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