Android adb-[安装\解析\失败\意外\异常]

Android adb-[安装\解析\失败\意外\异常],android,adb,apk,ubuntu-14.04,Android,Adb,Apk,Ubuntu 14.04,在解压缩的APK中更改文件时,我会重新压缩它,将扩展名更改为.APK,然后按如下方式安装: $ adb install CustomAPK.apk 2831 KB/s (41896599 bytes in 14.450s) pkg: /data/local/tmp/CustomAPK.apk Failure [INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION] 这是什么?生成密钥并在apk上签名: 手动为应用程序签名 你不需要Android Stud

在解压缩的APK中更改文件时,我会重新压缩它,将扩展名更改为.APK,然后按如下方式安装:

$ adb install CustomAPK.apk 
2831 KB/s (41896599 bytes in 14.450s)
    pkg: /data/local/tmp/CustomAPK.apk
Failure [INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION]

这是什么?

生成密钥并在apk上签名:

手动为应用程序签名 你不需要Android Studio来签署你的应用程序。您可以使用Android SDK和JDK中的标准工具从命令行对应用程序进行签名。要从命令行在发布模式下签署应用程序,请执行以下操作:

使用keytool生成私钥。例如:

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

此示例提示您输入密钥库和密钥的密码,并为密钥提供可分辨名称字段。然后,它将密钥库生成为一个名为my-release-key.keystore的文件。密钥库包含一个密钥,有效期为10000天。别名是您稍后在签署应用程序时将使用的名称

在发布模式下编译应用程序以获得未签名的APK。 使用jarsigner使用您的私钥为您的应用程序签名:

$jarsigner-verbose-sigalg SHA1withRSA-digestalg SHA1-keystore my-release-key.keystore my_application.apk alias_name

此示例提示您输入密钥库和密钥的密码。然后修改APK以对其进行签名。请注意,您可以使用不同的密钥对APK进行多次签名

验证您的APK是否已签名。例如:

$jarsigner-verify-verbose-certs my_application.apk

使用zipalign对齐最终APK包

$zipalign-v4 your_project_name-unaligned.apk your_project_name.apk

zipalign确保所有未压缩的数据都以相对于文件开头的特定字节对齐方式开始,从而减少应用程序所消耗的RAM量


安装\解析\失败\意外\异常


对于此卸载应用程序,请单击运行按钮修复此问题

构建该应用程序,然后运行


已解决我的问题

此答案是否与原始问题一样适用于Android Studio或手动ADB安装?安装\u解析\u失败\u意外的\u Android studioSimple异常,但有效的解决方案。谢谢