apk 打包 java出错_一次不成功的apk重新打包经过

博主尝试通过WinRAR替换APK中的大文件和使用Apktool进行APK解包替换,但安装始终失败。寻求已成功修改APK的网友经验分享,特别关注Android 4.2.1设备。讨论了SHA1校验和替换文件的挑战。
摘要由CSDN通过智能技术生成

我在 https://github.com/qpython-android/qpython3/releases/download/1.0.0/qpython3-app-release-1.0.0.apk 上下载了安装包,

方法1:

用winrar打开它,发现assets目录下有个private3.mp3文件,大约有8M,就把它用一个小的同名文件替换。winrar重新压缩,

结果放在android设备上,能出来安装提示框,但安装不成功。

方法2:

在http://www.oogps.com/post/apktool.html 上看到了apktool工具,到https://ibotpeaches.github.io/Apktool/下载了目前(20170207)最新版本,apktool_2.2.2.jar,并按照上文提示,编辑了apktool.bat文件,内容如下:

java -jar "%~dp0\apktool_2.2.2.jar" %1 %2 %3 %4 %5 %6 %7 %8 %9

我的java版本是:

java version "1.8.0_101"

Java(TM) SE Runtime Environment (build 1.8.0_101-b13)

Java HotSpot(TM) Client VM (build 25.101-b13, mixed mode, sharing)

执行D:\abc>d:\apktool d d:\qpython3-app-release-1.0.0.apk命令解包

把assets目录下private3.mp3文件用一个小的同名文件替换

执行D:\abc>d:\apktool b qpython3-app-release-1.0.0命令重新打包

把D:\abc\qpython3-app-release-1.0.0\dist目录下的apk文件放在android设备上,仍然是能出来安装提示框,但安装不成功。

把原始文件apk文件放在android设备上,能安装成功。

哪位网友如果已经成功地重新打包此文件,请分享经验。

我的设备android版本是4.2.1.

apktool生成的apk默认是不带 META-INF目录的,要用-c选项才包含。

META-INF目录下的MANIFEST.MF文件中包含了每个文件的sha1码,如果真像前文所述地校验,简单复制应该不行.

从下面网页下载查看sha1摘要的工具

https://support.microsoft.com/en-us/help/841290/availability-and-description-of-the-file-checksum-integrity-verifier-utility

但它得出的sha1代码是16进制,而MANIFEST.MF中的是Base64编码。按照文档提示,用以下命令行

D:\abc>fciv D:\abc\qpython3-app-release-1.0.0\assets\public3.mp3 -both -xml p3.xml

//

// File Checksum Integrity Verifier version 2.05.

//

Error loading XML document.

Create New XML database

----

-

-

d:\abc\qpython3-app-release-1.0.0\assets\public3.mp3

x4wQ997IgAoijGlKn2DOAQ==

lLzGYyqDYZ4OJ1kkOjP80zi66go=

这与MANIFEST.MF中的记录一致。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值