APK安装失败:

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

当我“adb安装my.apk”时,我收到错误消息:

[INSTALL_FAILED_VERIFICATION_FAILURE]

我已经尝试使用“testsign.jar”来“签署”apk但它并没有改变结果

您需要在ADB安装期间禁用APKvalidation。 如果安全性中的设置显示为灰色或无法正常工作,则应尝试对设备进行shell操作,并且根据您的API级别(全局,系统,安全)运行的设置所依据的数据库

$ adb shell settings put global verifier_verify_adb_installs 0

如果你可以实际设置它,它将阻止通过亚行检查APK。

有时您还需要使用以下命令禁用包validation程序:

$ 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

转到开发人员设置并通过USB禁用validation应用 。 然后你可以毫无问题地安装.apk

您必须允许未签名的应用程序。 安装被Android阻止。 允许在“设置”中安装非市场应用。

这是有用的,我试图在Android 6.0的设备上安装

  1. Settings > Developer Options > Then Turn off Verify Apps over USB查看第一张图像

然后

  1. Settings > Security > Then Turn on Unknown sources

最后

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

进入Settings > Developer Options > Then Turn off Verify Apps over

Settings > Security > Then Turn on Unknown sources

正如有人所说,你需要有一个签名的apk来运行它。为了有一个签名的apk,右键单击你的项目> Android工具>导出签名的应用程序包。然后你会被提示find你的密钥库,但如果你没有你可以创建一个。在eclipse的指导下遵循接下来的步骤。

除了“settings put global verifier_verify_adb_installs 0”之外,我还需要在我的情况下将package_verifier_enable设置为0以使其工作。

例如

 adb shell settings put global package_verifier_enable 0 

上面没有任何建议对我有用,但是工厂重置设备就行了。