php aapt apk 包名,aapt 命令可应用于查看apk包名、主activity、版本等很多信息

List contents of Zip-compatible archive.

1.1 列出压缩文件目录

aapt l

参数:

-v:会以table的形式输出目录,table的表目有:Length、Method、Size、Ratio、Date、Time、CRC-32、Name。

其中Method表示压缩形式,有:Deflate及Stored两种,即该Zip目录采用的算法是压缩模式还是存储模式;可以看出resources.arsc、*.png采用压缩模式,而其它采用压缩模式。

Ratio表示压缩率。CRC-32未明其意,Sodino盼指教。

-a:会详细输出所有目录的内容。

效果图:aapt_list.JPG

uid-29728680-id-5301080.html

2. aapt d[ump] [--values] WHAT file.{apk} [asset [asset ...]]

badging          Print the label and icon for the app declared in APK.

permissions      Print the permissions from the APK.

resources        Print the resource table from the APK.

configurations   Print the configurations in the APK.

xmltree          Print the compiled xmls in the given assets.

xmlstrings       Print the strings of the given compiled xml assets.

2.1 查看apk包的packageName、versionCode、applicationLabel、launcherActivity、permission等各种详细信息

aapt dump badging

效果图:aapt_dump_badging.JPG

uid-29728680-id-5301080.html

2.2 查看权限

aapt dump permissions

效果图:aapt_dump_permissions.JPG

uid-29728680-id-5301080.html

2.3 查看资源列表

aapt dump resources

一般都会输出很多的信息,如要全部查看,请用下面这两句:

aapt dump resources    > sodino.txt

sodino.txt

这样会把所有的信息通过重定向符">"输出到sodino.txt文件中,然后再打开该文件即可查看。

2.4 查看apk配置信息

aapt dump configurations

2.5 查看指定apk的指定xml文件。

aapt dump xmltree res/***.xml

以树形结构输出的xml信息。

aapt dump xmlstrings res/***.xml

输出xml文件中所有的字符串信息。

效果图:aapt_dump_xmltree.JPG

uid-29728680-id-5301080.html

3

由于此处代码量比较大,本人写成批处理形式了。

使用aapt生成R.java

rem 测试的工程目录下必须得有gen文件夹,否则会提示:Unable to open class file R.java:No such file or directory

%aapt% package -f -m -J %GEN% -S %RES% -I %ANDROID_JAR% -M %ANDROID_MANIFEST_XML%

使用aapt生成资源包文件

%aapt% package -f -M %ANDROID_MANIFEST_XML% -S %RES% -A %ASSETS% -I %ANDROID_JAR% -F %RESOURCE%

%GEN%:存放的R.java文件夹路径。

%RES%:res文件夹路径。

%ANDROID_JAR%:引用的android.jar路径。

%ANDROID_MANIFEST_XML%:工程AndroidManifest.xml绝对路径。

%ASSETS%:asset文件夹路径。

%RESOURCE%:生成的resouces.arsc存放路径。

参考:

Android系列之Android 命令行手动编译打包详解

http://blog168.chinaunix.net/space.php?uid=22957718&do=blog&cuid=2322671

其余的不解释,直接见效果图:

aapt r[emove] [-v] file.{zip,jar,apk} file1 [file2 ...]

Delete specified files from Zip-compatible archive.

aapt a[dd] [-v] file.{zip,jar,apk} file1 [file2 ...]

Add specified files to Zip-compatible archive.

aapt v[ersion]

Print program version.

效果图:aapt_r_a_v.JPG

uid-29728680-id-5301080.html

乱码问题说明:

在Window下,进行adb shell后,举个例子,如果你的sdcard下保存着中文字符文件名的文件,则在CMD下显示是一些无规律的中文并夹杂着乱码。如下图:

uid-29728680-id-5301080.html

出现这种情况的原因是:

Android中使用的是UTF-8字符,而CMD默认字符集是ANSI,中文环境下即为GBK,代码页为936。

查询当前代码页的方法为在CMD下直接输入“chcp”命令,并会返回“活动的代码页:936”字样。

找出原因了,解决办法也就有了。

只要使用UTF-8格式的代码页65001就OK了,命令如下:

chcp65001

最后结果如下图:

uid-29728680-id-5301080.html

可以看到,中文字符都显示正常了。呵呵,Sodino解决!!

2011年5月27日14时33分22秒:

引申一个问题:

刚把CMD默认值代码页设为65001后,发现用ADT打混淆包的Eclipse会报"Conversion to Dalvik format failed with error 1"的异常,至今原因不明。将代码页默认值再调回936后即正常。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值