aapt的使用

来源:互联网 发布:淘宝云客服多久结工资 编辑:程序博客网 时间:2024/05/27 01:31

aapt的使用

 

aapt:Android Asset Packaging Tool , 在SDK的tools/目录下. 该工具可以查看, 创建, 更新ZIP格式的文档附件(zip, jar, apk). 也可将资源文件编译成二进制文件.

同步软件中得到apk信息就是用的这么一个android已经提供好的工具。

[html] view plaincopyprint?
  1. aapt d[ump] [--values] WHAT file.{apk} [asset [asset ...]]  
  2.    badging          Print the label and icon for the app declared in APK.  
  3.    permissions      Print the permissions from the APK.  
  4.    resources        Print the resource table from the APK.  
  5.    configurations   Print the configurations in the APK.  
  6.    xmltree          Print the compiled xmls in the given assets.  
  7.    xmlstrings       Print the strings of the given compiled xml assets.  

使用aapt dump badging *.apk可以查看这个apk文件的程序名、包名、所用的sdk,程序版本以及权限信息等等。如下:

aapt dump bagging EngineeringTest.apk 得到如下详细信息

[html] view plaincopyprint?
  1. package: name='com.archermind.engineeringtest' versionCode='1' versionName='1.0'  
  2. sdkVersion:'8'  
  3. application-label:'EngineeringTest'  
  4. application-icon-120:'res/drawable-ldpi/ic_launcher.png'  
  5. application-icon-160:'res/drawable-mdpi/ic_launcher.png'  
  6. application-icon-240:'res/drawable-hdpi/ic_launcher.png'  
  7. application: label='EngineeringTest' icon='res/drawable-mdpi/ic_launcher.png'  
  8. launchable-activity: name='com.archermind.engineeringtest.EngineeringTestActivity'  label='EngineeringTest' icon=''  
  9. uses-permission:'android.permission.INTERNET'  
  10. uses-feature:'android.hardware.touchscreen'  
  11. main  
  12. other-activities  
  13. other-receivers  
  14. other-services  
  15. supports-screens: 'small' 'normal' 'large'  
  16. supports-any-density: 'true'  
  17. locales: '--_--'  
  18. densities: '120' '160' '240'  

将上面的信息读入到字符串中,然后用正则表达式匹配一下。就可以把apk的信息放到同步软件中了。

另外同步软件中应该还会涉及到一些,手机固件的信息,比如说手机rom的版本等等,这些信息放在了android系统的system/build.prop文件里面。可以使用adb shell cat进行查看,如果要查看具体的每行的含义可以查看下面的网址:

http://www.cnblogs.com/wanqieddy/archive/2011/11/25/2263367.html



总结,aapt能获取下列信息:

aapt dump badging <file_path.apk>:查看apk包的packageName、versionCode、    applicationLabel、launcherActivity、permission等各种详细信息

aapt dump permissions <file_path.apk>:查看权限

aapt dump resources <file_path.apk>:查看资源列表

aapt dump configurations <file_path.apk>:查看apk配置信息

aapt dump xmltree <file_path.apk> res/*.xml:查看指定apk的指定xml文件 (以树形结构输出的xml信息)
aapt dump xmlstrings <file_path.apk> res/*.xml:查看指定apk的指定xml 文件(输出xml文件中所有的字符串信息)

0 0