Linux安装aapt问题之libstdc++-4.4.7-16.el6.i686 != libstdc++-4.4.7-11.el6.x86_64

来源:互联网 发布:域名后缀价值 编辑:程序博客网 时间:2024/03/29 02:16

最近先把业余的ROR放一放,手头上有些工作要处理。以前在windows中获取过apk信息,最近打算在Linux获取apk信息,使工作更加智能化。


之前看《The linux command line》的时候以为了解一些基本指令就可以了,可事实上当你要用到这个系统的时候,需要的不止这些。后面要回去学习下脚本。


现在的当务之急是先把aapt跑出来。


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}


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


网上一篇文章抄来抄去,一字不改,也不注明原出处,也是乱。



0 0
原创粉丝点击