linux中使用aapt解析apk

apptool中的文件都是下载

https://www.cnblogs.com/miao-zp/p/5983878.html

https://blog.csdn.net/douyunqian668/article/details/78196037?locationNum=8&fps=1

1、安装aapt工具。

参考:http://www.aichengxu.com/view/25283

 

下载工具包,没梯子的自己下载到这个包后再自己传到服务器吧。

$ wget http://android-apktool.googlecode.com/files/apktool-install-linux-r04-brut1.tar.bz2 

解压缩
$ tar -jxvf apktool-install-linux-r04-brut1.tar.bz2 

移动文件
$ mv aapt /usr/bin  
$ mv apktool /usr/bin 


输入aapt命令,控制台输出
-bash: /usr/bin/aapt: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
原因是64位系统中安装了32位程序,apktool是32位。

 

2、查看linux版本信息和系统位数。

那我自己也需要清楚我的机子装的是linux哪个版本还有位数。

$ cat /etc/issue
CentOS release ,可以知道是CentOS发行版
$ file /sbin/init 
/sbin/init: ELF 64-bit LSB shared object, x86-64,为64位。
32-bit即为32位。

 

3、安装包和问题的出现

刚开始安装我是参考这个来的:http://michaelzqm.iteye.com/blog/1881576

$ yum install -y glibc-2.12-1.107.el6.i686
本来照着装这个,却报了这样的错误。
No package glibc-2.12-1.107.el6.i686 available.
网上搜了一下,换了个版本的包。
$ yum install -y glibc-2.12-1.166.el6.i686


感觉上一个链接写的介绍有点坑,所以按照另外一个进行安装:
http://www.aichengxu.com/view/25283,centos 64位linux系统下安装appt命令的apktool工具包的笔记


此时执行
$ aapt
-bash: /usr/bin/aapt: /lib/ld-linux.so.2: bad ELF interpreter: 没有那个文件或目录
安装包
$ yum install glibc.i686
安装完后,继续执行
$ aapt
aapt: error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory
继续安装包
$ yum install zlib.i686
安装完后,继续执行
$ aapt
aapt: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
继续安装包
$ sudo yum install libstdc++.i686 


问题出现了:
安装过程中报错:
Error: Protected multilib versions: libstdc++-4.4.7-16.el6.i686 != libstdc++-4.4.7-11.el6.x86_64


进行更新,注意更新的版本是将上面的.i686部分更新为x86_64
$yum update libstdc++-4.4.7-16.el6.x86_64




$aapt
aapt: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory


回到原来的那步:
$ yum install libstdc++.i686
这次安装成功。


aapt正常执行
$ aapt
Android Asset Packaging Tool

Usage:
 aapt l[ist] [-v] [-a] file.{zip,jar,apk}

 

问题应该是包的版本和位数问题,虽然不是太了解,但是照着那个思路,根据控制台的输出版本还有网上有的版本,修改一下还是可以调通的。

注意:我个人刚开始将aapt放在了我自己设置的目录,结果一直导致aapt找不到,放到/usr/bin下就可以了,你们也可以尝试一下。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值