转于:http://www.qiansw.com/centos-apk-apktool.html
我使用的是CentOS6.4 64位的系统。
首先需要下载两个包。
这里下载:https://code.google.com/p/android-apktool
打不开的用户直接翻到文章下面下载附件即可(版本可能不是最新的)。
到这里下载java:http://www.java.com/zh_CN/download/manual.jsp
1.把附件中的两个包解压得到三个文件,全部复制到/usr/local/bin目录中。
2.下载完java后安装:
1 |
shell > yum localinstall jre-7u55-linux-x64.rpm |
3.错误处理:
反编译命令:
/usr/local/bin/apktool d -f /home/pkg/vv.apk /home/pkg/vv
打包命令:
/usr/local/bin/apktool b -f /home/pkg/vv /home/pkg/vv.apk
Cannot run program "aapt": error=2, No such file or directory
执行aapt的时候报错
-bash: /usr/local/bin/aapt: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
查看需要安装哪个包。
yum provides */ld-linux.so.2
根据提示安装:
yum install glibc-2.12-1.132.el6.i686
尝试继续执行打包命令。
报错aapt: error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory
yum install zlib-1.2.3-29.el6.i686
报错aapt: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
yum install libstdc++-4.4.7-4.el6.i686
报错: Protected multilib versions: libstdc++-4.4.7-4.el6.i686 != libstdc++-4.4.7-3.el6.x86_64
则表示64位版本的libstdc++版本与需要安装的32位版本不一致,需要先升级64位版本。
yum install libstdc++
整理一下:
Shell
1 2 |
yum localinstall jre-7u55-linux-x64.rpm yum install -y glibc-2.12-1.132.el6.i686 zlib-1.2.3-29.el6.i686 libstdc++ libstdc++-4.4.7-4.el6.i686 |