WEB开发网
开发学院手机开发Android 开发 详解 android apk 阅读

详解 android apk

 2010-03-10 16:47:00 来源:WEB开发网   
核心提示:吸取了client/service的思想,apk没有自己的独立入口函数,详解 android apk,只是包含一个或者多个component,在进行程序执行时根据 manifest配置文件来确定需要哪些的component,最好的方法是一边研究里面 的opcode一边打开api来查看里面调用到的类和方法,减少误解的机率

吸取了client/service的思想,apk没有自己的独立入口函数,只是包含一个或者多个component,在进行程序执行时根据 manifest配置文件来确定需要哪些的component。

而conponent的激活是由intent来触发的,intent说穿了就是一个包括了操作和操作数据的action,相当于这个component就是一个服务提供者,intent带来请求,然后它执行请求。而且intent可以指定component 来执行请求,也可以不指定有component根据过滤器的匹配来选择最合适的component来完成请求。

而且还有一个就是在应用 程序层的process是以linux user ID来区分的,每个进程对应一个虚拟机,但一个进程中可以跑多个应用程序,而不仅仅是局限于一个。其实这个也好理解,一个应用程序就是多个 component,多个应用程序可以看做是很多component组成的一个apk。

apk实际是就是一个rar/zip,重命名rar后可以用winrar直接打开

apk文件一般包括如下内容:

META-INF -----没有签名的apk没有这个目录,该目录下包括签名信息

res -----资源文件目录,和工程中的一样

AndroidManifest.xml -----主描述文件,和工程中的一样

classes.dex -----所有的java类编译后的文件,是Dalvik VM需要的字节码

resources.arsc -----res目录的结构,重新组织过的二进制文件,格式未知

汉 化需要将apk中的文件解出来 把所有资源文件 和Mainifest.xml 用Hex WORKSHOP这个可以查看16进制文件,通过过滤一些符号主要是“.” 剩下的就是主要信息。。然后把一些Text类 的信息改成中文就ok。

首先要把apk的class.dex dump出来、 : 具体步骤:1.用winrar或者winzip打开apk,直接拖出来。2.用android sdk1.1版 本以上的一个dexdump工具把class.dex文件 dump成文本:把刚才的class.dex文件放在和dexdump工具同目录 用命令窗口执行 :dexdump.exe -d classes.dex > spk.dump.txt 意 思是将classes.dex dump出来 形成一个txt文件。下一步就要读懂这个txt文件了,先从header中可以看清楚这个应用的总体信息,有几个类,包括内部类 ,header只是了解概况。要详细去分析下面的每一个class才能真正理解这个软件的设计过程。最好的方法是一边研究里面 的opcode一边打开api来查看里面调用到的类和方法,减少误解的机率。opcode 就是介于高级编程语言和二进制代码之间的一层中间码,operation

1 2  下一页

Tags:详解 android apk

编辑录入:coldstar [复制链接] [打 印]
赞助商链接