这里记录怎么定义apk的版本号和版本名,怎么一次性控制多个分支版本的版本号和版本名,以及怎么获得一个已经编译好的apk的版本信息。
这里随机记录git的用户和技巧,供参考和查阅。
本文翻译Android官网对智能任务调度的Guide。
apkTool是Android apk反编译,修改,回编的工具。可以把二进制形式的Android apk 反编译出可阅读的AndroidManifest.xml文件,smali文件和资源文件。 同时支持将修改后的文件回编打包成新的apk,实现Android apk的直接修改。当apk需要使用framework资源时,使用 apkTool if 命令可以安装framework资源。apkTool是开源项目,采用Java编写,专人维护和更新,请勿用于非法目的。具体使用方法和说明请查阅 apkTool github 。
本文记录对Android官方文档对 .dex 文件格式的解释,以帮助反编译apk。
Android apk 中,包含一个.dex文件,Android 6默认包含 .odex 文件,同时向下支持 .dex 格式,Android7具有了新的处理机制,除了核心apk外依然保持.dex文件。
.odex文件其实是.dex文件经过dex2oat后得到的”.oat file” (the AOT binary for the .dex file),Android采用JIT/AOT编译技术,如果.oat文件可用,
可以直接进行“Apk run”,而不要重新从字节码(.dex)编译成特定Android机器的机器码,如果.oat文件不可用,则采用JIT编译器得到prifile cache,AOT daemon根据profile cache重新编译method的字节码得到机器码。
在framework中,我们也能看到.oat文件,也属于the AOT binary file.
关于oat文件格式,参考Android ELF文件格式,以及源码art目录下面的内容。