新的一个项目,需要在Linux下执行aapt命令对apk文件进行处理

开发环境:

MacBook-Pro:appSecuity zhang$ uname -a
Darwin huijundeMacBook-Pro.local 15.6.0 Darwin Kernel Version 15.6.0: Thu Jun 23 18:25:34 PDT 2016; root:xnu-3248.60.10~1/RELEASE_X86_64 x86_64

发布环境:

==

在开发环境下运行aapt命令,可以正常运行,没有错误

huijundeMacBook-Pro:app huijunzhang$ tools/aapt v
Android Asset Packaging Tool, v0.2

但是在Linux下就不行了:

test@qa-autotesting-01016.sqa.hzc:~$~/code$ app/tools/aapt
-bash: app/tools/aapt: cannot execute binary file: Exec format error

到此,猜测可能是由于mac下的aapt文件不能再Linux下执行,正好服务器下找到了Linux版本的sdk

test@qa-autotesting-01016.sqa.hzc:~$ find android-sdk-linux/ -name 'aapt'
android-sdk-linux/build-tools/24.0.0/aapt
android-sdk-linux/build-tools/23.0.1/aapt

按理说这个下边的aapt文件应该可以执行,其实并不是的:

test@qa-autotesting-01016.sqa.hzc:~/android-sdk-linux/build-tools$ 23.0.1/aapt
-bash: 23.0.1/aapt: No such file or directory
test@qa-autotesting-01016.sqa.hzc:~/android-sdk-linux/build-tools$ bash 23.0.1/aapt
23.0.1/aapt: 23.0.1/aapt: cannot execute binary file

还是不可以,怎么回事呢

百度,bing都没有解决我的问题,最后一招就是Google了。。。

首先找到了这个,https://code.google.com/archive/p/android-sdk/,貌似说的是aapt是32位的,不支持64位的,需要的用源码自行编译。。。。

然后又找到了这个,这个,这个....

最后想到了万能的StrackOverflow,找到了这个:http://stackoverflow.com/questions/18041769/error-cannot-run-aapt

执行下面的命令:

sudo apt-get update
sudo apt-get install gcc-multilib lib32z1 lib32stdc++6

安装了好多依赖,漫长的等待后,结束了,试了下

test@qa-autotesting-01016.sqa.hzc~$ android-sdk-linux/build-tools/23.0.1/aapt v
Android Asset Packaging Tool, v0.2-2201634

成功了,耶✌️

再试一下从mac上传的aapt:

huijundeMacBook-Pro:app huijunzhang$ tools/aapt v
-bash: tools/aapt: cannot execute binary file: Exec format error

还是不行,Reason: aapt needs 32-bit libraries installed

解决aapt命令在Linux下无法运行的问题的更多相关文章

  1. svn命令在linux下的使用

    svn命令在linux下的使用 SVN软件版本管理 三 12th, 2008 转载本站文章请注明,转载自:扶凯[[url]http://www.php-oa.com[/url]] 本文链接: [url ...

  2. linux下编译运行驱动

    linux下编译运行驱动 嵌入式linux下设备驱动的运行和linux x86 pc下运行设备驱动是类似的,由于手头没有嵌入式linux设备,先在vmware上的linux上学习驱动开发. 按照如下方 ...

  3. linux 下 tomcat 运行报错 Broken pipe

    linux 下 tomcat 运行报错 Broken pipe 感谢:http://hi.baidu.com/liupenglover/blog/item/4048c23ff19f1cd67d1e71 ...

  4. linux下编译运行TIGL Viewer步骤

    linux下编译运行TIGL Viewer步骤(仅为了正确编译安装的话直接跳到步骤3) 1. linux发行版选择:由于linux发行版众多,不同版本包含的库版本可能存在差别,因此需要选择正确的版本. ...

  5. 解决Qt程序在Linux下无法输入中文的办法

    解决Qt程序在Linux下无法输入中文的办法 一位网友问我怎样在Linux的Qt的应用程序中输入中文,我一開始认为不是什么问题,可是后面自己尝试了一下还真不行.不仅是Qt制作的应用程序,就连Qt Cr ...

  6. 【Qt开发】解决Qt程序在Linux下无法输入中文的办法

    解决Qt程序在Linux下无法输入中文的办法 一位网友问我如何在Linux的Qt的应用程序中输入中文,我一开始觉得不是什么问题,但是后面自己尝试了一下还真不行.不仅是Qt制作的应用程序,就连Qt Cr ...

  7. php 运行linux命令 与 linux下命令行执行php

    1.php运行linux命令 exec函数:string exec(string command, string [array], int [return_var]);  执行函数后不输出结果,返回最 ...

  8. Linux下tomcat运行命令

    tomcat启动 [root@master webapps]# /usr/local/tomcat7.0/bin/catalina.sh start startup.sh的源代码,其实就是执行   c ...

  9. linux下tomcat运行war包常用命令

    一.先是war包copy到 linux 的相关目录,我这的是/opt/soft/tomcat_ecp/webapps. 如果是老项目,在导入war的之前,习惯上是把之前的war备份一下, 如 mv p ...

随机推荐

  1. 【十】注入框架RoboGuice使用:(Your First Testcase)

    上一篇我们简单的介绍了一下RoboGuice的使用([九]注入框架RoboGuice使用:(Your First Injected Service and BroadcastReceiver)),今天 ...

  2. ZendStudio快捷键 注释的快捷键

    注:本文省略“通用快捷键”描述,诸如:ctrl+N=新建,ctrl+O=打开,ctrl+C=复制,ctrl+V,ctrl+X……等等几乎所有软件都通用的一组快捷键,而着重介绍zde独有的快捷键,了解并 ...

  3. 数据文件、日志文件、归档文件、控制文件、参数文件及RMAN备份数据库信息查询

    一.查看数据库信息:=====================1.数据文件 SQL> SELECT FILE#,STATUS,ENABLED,NAME FROM V$DATAFILE; FILE ...

  4. 【特殊的图+DP】【11月校赛】大家一起玩游戏

    大家一起玩游戏 Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other) Total Submi ...

  5. CAS SSO

    1.      CAS 简介 1.1.  What is CAS ? CAS ( Central Authentication Service ) 是 Yale 大学发起的一个企业级的.开源的项目,旨 ...

  6. 沃通tomcat jks 安装配置

    废话不多说上代码: <Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtoc ...

  7. PHP学习笔记五【方法】

    <?php $num1=34; $num2=90; $oper="+"; $res=0; switch($oper) { case "+": $res=$ ...

  8. Python之路第十天,高级(2)-多线程,多进程,协程

    线程 threading threading模块对象 描述 Thread 表示一个线程的执行对象 Lock 锁原语对象 RLock 可重入锁对象,使单线程可再次获得已经获得了的锁(递归锁定) Cond ...

  9. keepalived 安装和配置

    第一步:安装 yum -y install keepalived 第二步:配置 /etc/keepalived/keepalived.conf ! Configuration File for kee ...

  10. SQL Server 连接和事务相关的问题。

    方法 1. dbcc opentran + sys.dm_exec_connections dbcc opentran; dbcc opentran 针对当前数据库 dbcc opentran('St ...