Linux和WINDOWS下JAVA代码实现,用命令行实现对apk包重新签名打包优化
来源:互联网 发布:淘宝客服操作流程 编辑:程序博客网 时间:2024/06/07 09:47
1.7zip-解压到文件名命名的文件下,并删掉该apk文件
遇到的问题:无
2.判断是否为白包,如果已签名则删掉META—INF文件夹和文件夹下的所有文件
遇到的问题:在删除的时候要注意要删除META—INF文件夹和文件夹下所有的文件
3.7zip-压缩该文件
遇到的问题:在压缩文件时,要注意选取解压的apk包里的所有文件,并在压缩时文件夹不能包含两层
eg. test.apk >> 解压的文件夹test >> 压缩 >> test.apk 而不是 test/test套两层,一定注意
4.重新定义打包的文件路径和文件名(如需更改文件路径和文件名的情况)
遇到的问题:无
5.调用命令生成临时文件
1).WINDOWS下
cmd.exe /C jarsigner -verbose -keystoretest -storepasstestpwd -signedjarD:\\test\\app_signer_tmp.apkD:\\test\\test.apk test.key
参数说明
test 签名KEY
testpwd 签名密码
D:\\test\\app_signer_tmp.apk 签名后生成的临时文件的全路径
D:\\test\\test.apk 原始APK文件全路径
test.key 签名key文件路径,一般默认在当前目录下
遇到的问题:无
2).LINUX下
String createTemp = " jarsigner -verbose -keystore test -storepass testpwd -signedjar/root/test/app_signer_tmp.apk /root/test/test.apk test.key“
String[] linux = new String[] {"/bin/bash", "-c",createTemp};
exec("commands", linux);
遇到的问题:无
6.zipalign优化
1).WINDOWS下
cmd.exe /Cd:\\tools\\zipalign\\zipalign.exe -f -v 4D:\\test\\app_signer_tmp.apk D:\\test\\test_signer.apk
d:\\tools\\zipalign\\zipalign.exe zipalign.exe优化工具windows下的
D:\\test\\app_signer_tmp.apk 在第五步中生成的临时文件
D:\\test\\test_signer.apk 经过zipalign优化的正式包
遇到的问题:无
2).LINUX下
zipalign -f -v 4 /root/test/app_signer_tmp.apk /root/test_signer.apk
zipalign linux下zipalign工具
/root/test/app_signer_tmp.apk 第5步中生成的临时文件
/root/test_signer.apk 打包最终输出的文件
遇到的问题:
在linux下运行打包的过程中遇到过一个比较坑的问题,zipalign 无法在linux上运行
[root@dev-web-test01 work]# zipalign
-bash: zipalign: command not found
---------下载linux zipalign文件 注意根据服务器的系统位数区分32 or 64
[root@dev-web-test01 test]# ./zipalign
-bash: ./zipalign: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
需要安装如下库:
yum -y install glibc.i686
yum install libstdc++.i686
yum install zlib.i686
error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory
检查/usr/lib下是否存在
libz.so
libz.so.1
libz.so.1.y.z文件
我这里不存在,我的解决办法是到其他服务器的/usr/lib/ 下去拷贝了这三个文件,然后运行./zipalign运行通过,问题解决
7.删除未签名的压缩文件包
8.删除签名的临时文件
9.删除解压的文件夹
----完成APK文件的重新签名并打包
补需要的资源:
1.zipalign工具
http://download.csdn.net/detail/hwhanwan/9456605
2.libz.so.1
http://download.csdn.net/detail/hwhanwan/9456615
这里特别感谢
http://blog.csdn.net/keysilence1/article/details/50769844 给了zipalign解决问题的思路
http://www.bkjia.com/Androidjc/882022.html 解决libz.so.1不存在的问题
- Linux和WINDOWS下JAVA代码实现,用命令行实现对apk包重新签名打包优化
- APK用命令行签名
- windows下,用命令行实现一些功能
- 用命令行 给 apk 签名
- windows 下用命令行编译和运行c/c++
- 用命令行方式获取打包签名文件的SHA1和MD5
- redis用命令行发布windows和Linux
- APK 重新签名打包
- apk 反编译和重新签名打包命令
- windows下用命令行导入数据库
- 命令行和Eclipse 2种方式实现对APK的签名与APK文件优化
- mac 下对apk进行重新签名
- apk安装包反编译+修改代码+替换资源+重新打包+签名全流程记录
- Linux 下apk文件实现签名
- linux下用命令行访问网页
- linux下用命令行解压缩文件
- linux下用命令行下载jdk
- Java代码实现apk自动化解包和压包
- 吉林大学1466
- springmvc学习笔记(5)-入门程序小结
- #How Broswers Work<二>渲染引擎--script(下)
- java获取项目运行根目录
- Cpp--改变形参指针无法实现双向传值的问题
- Linux和WINDOWS下JAVA代码实现,用命令行实现对apk包重新签名打包优化
- leetcode(20. Valid Parentheses)
- 【SSH进阶之路】Spring简介,搭建Spring环境——轻量级容器框架(一)
- Caffe上训练使用自己的数据
- 期末考试之考试传纸条
- javascript中的数组
- 【SSH进阶之路】Spring的IOC逐层深入——为什么要使用IOC[实例讲解](二)
- 【C#】C#中的数据类型
- GitHub 优秀的 Android 开源项目