前面有说明android获取程序信息,这些信息是基本信息,我想提取android:minSdkVersion的值,可还没有发现用程序可以提取出来。

有一个比较笨的方式是解压apk文件,分析apk文件里的xml。

首先apk文件其实是zip文件,改名即可按zip文件解压,而xml文件是二进制的,倒是需要另外的软件解决。
如果需要提取,不需要再重新打包,可以改名直接解压,否则可以试试apktool来解压和打包,不重复说明。

浏览二进制的xml文件,可以用 AXMLPrinter2 解决,在 android4me 的工程里面可以下载到。
AXMLPrinter2.jar  Prints XML document from binary XML file (with correct namespace handing & attribute formatting).  

下面演示一下解析过程:

root@aslibra:/tmp/apk# ls
c.apk
root@aslibra:/tmp/apk# mv c.apk c.zip
root@aslibra:/tmp/apk# unzip c
Archive:  c.zip
...
  inflating: res/layout/main.xml    
...
  inflating: AndroidManifest.xml    
extracting: resources.arsc          
...
root@aslibra:/tmp/apk# java -jar /path/to/AXMLPrinter2.jar AndroidManifest.xml |grep minSdkVersion
                android:minSdkVersion="2"


TIPS: minSdkVersion 在安装时有用,如果版本比这个低,就根本安装不上此程序的。

参考阅读:

1 探究 Android 系統應用程式的祕密
2 又一个反编译利器Apktool (反编译和重建apk)
3 http://code.google.com/p/android-apktool/
4 How to parse the AndroidManifest.xml file inside an .apk package
5 android4me


原创内容如转载请注明:来自 阿权的书房
收藏本文到网摘
Tags: , ,
发表评论
AD
表情
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
打开HTML 打开UBB 打开表情 隐藏
昵称   密码   游客无需密码
网址   电邮   [注册]
               

验证码 不区分大小写
 

阅读推荐

服务器相关推荐

开发相关推荐

应用软件推荐