-
Notifications
You must be signed in to change notification settings - Fork 784
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
2019-09-19:谈谈安卓apk构建的流程? #150
Comments
之前AS坏了,突发奇想自己用cmd控制aapt,javac等生成了一个apk,下面讲下我理解的编译过程
这只是最简单的过程,实际还会涉及到multidex,使用如proguard的工具处理生成的字节码,需要依赖aar文件,需要编译kotlin,使用jack,使用jni,使用d8/r8等情况~ |
1) aapt 为res 目录下资源生成R.java 文件,同时为AndroidMainfest.xml 生成Mainfeset.java文件 |
关于9,补充下。我在网上看到好多说对齐操作的,这里说下我的理解,这里说的节约内存并不是节约apk的物理内存。而是app运行内存。在Android中,当资源文件通过内存映射对齐到4字节边界时,访问资源文件的代码才是有效率的。但是,如果资源本身没有进行对齐处理(未使用zipalign工具),就必须显式地读取它们,这个过程将会比较缓慢且会花费额外的内存。 可以明确一点,对齐主要是为了提高读取资源的效率。 |
是的,只是为了寄存器整读,和节约内存没关系 |
1.aapt 生成R.java mainfest.java |
|
|
其他问法
The text was updated successfully, but these errors were encountered: