JDK安装
AndroidStudio安装
默认sdk路径
C:\Users\Administrator\AppData\Local\Android\Sdk
将platform-tools所在的目录添加到path
C:\Users\Administrator\AppData\Local\Android\Sdk\platform-tools
主要目的是使用该目录下的adb等命令
将tools所在的目录添加到path
C:\Users\Administrator\AppData\Local\Android\Sdk\tools
NDK根目录添加到path
检验是否添加成功
ndk-build
MT管理器
功能:
查看Android系统目录结构
查看apk的加固方式,以及签名版本等信息
Android killer
替换apktool
案例:
更改应用的名称和icon
killer内置的文本搜索工具不好用,对于名称和icon的更改,可自动化
自动化icon步骤
1.指定AndroidManifest.xml的路径
2.更改icon的名称
<application android:icon="@drawable/jrlogo"
3.将icon所对应的图片添加到如下目录
自动化名称步骤
1.确定AndroidManifest.xml中名字对应的字符串叫什么
<application android:label="@string/tudou_app_name"
2.在values/strings.xml中搜索相应的字符串,找到后将其替换
<string name="tudou_app_name">土豆视频1</string>
去除开屏广告界面
1.用adb判断目标app启动时,开屏广告界面所对应的Activity名称
2.在AndroidManifest.xml中将该Activity的launcher属性去除
APK的目录结构
APK的打包流程
apk的安装流程
虚拟机
有三种虚拟机,分别为:java虚拟机,dalvik虚拟机,art虚拟机
odex和aot的区别
ODEX(Optimized DEX)
- 定义:ODEX是优化过的DEX文件,即将APK中的classes.dex文件通过dex优化过程生成的优化文件。DEX文件是Android应用程序的编译产物,包含了应用程序的可执行代码。
- 用途:ODEX文件用于加快软件的启动速度,减少对RAM的占用。在Android 5.0之前,APK安装时会进行DEX文件的验证和优化,生成ODEX文件。运行APK时,直接加载ODEX文件,避免了重复验证和优化,从而提高了响应速度。
OAT(Optimized Android Runtime)
- 定义:OAT是ART(Android Runtime)虚拟机运行的文件,是ELF格式的二进制文件,包含了DEX文件和编译出的本地机器指令。
- 用途:从Android 5.0开始,系统引入了ART运行时环境,取代了之前的Dalvik虚拟机。ART在安装应用时会进行预编译,将DEX文件转换成OAT文件,这些文件包含了编译后的机器码,因此可以直接由处理器执行,无需在应用运行时再进行即时编译(JIT),从而提高了应用的运行效率。
二、生成与存储
ODEX
- 生成:在Android 5.0之前的版本中,APK安装时通过dexopt工具生成ODEX文件。dexopt会对DEX文件进行优化,并生成包含优化结果的ODEX文件。
- 存储:ODEX文件通常存储在
/data/dalvik-cache
目录下,与APK文件分开存储。
OAT
- 生成:在Android 5.0及以后的版本中,APK安装时通过dex2oat工具将DEX文件编译成OAT文件。dex2oat负责将DEX字节码转换成特定于处理器的机器码。
- 存储:OAT文件同样存储在
/data/dalvik-cache
目录下,但格式和内容与ODEX文件不同。
三、文件格式与性能
文件格式
- ODEX:虽然ODEX文件是优化过的DEX文件,但其本质上仍然是DEX格式的一种变体。它包含了经过优化的DEX代码和一些额外的元数据。
- OAT:OAT文件是ELF格式的二进制文件,包含了DEX代码和编译后的本地机器指令。与ODEX相比,OAT文件的结构更加复杂,但执行效率更高。
性能
- ODEX:虽然ODEX文件加快了软件的启动速度,但在运行时仍需要JIT编译器将DEX字节码转换成机器码才能执行。
- OAT:OAT文件包含了编译后的机器码,因此可以直接由处理器执行,无需JIT编译过程。这使得应用的运行效率更高,响应速度更快。
综上所述,ODEX和OAT在Android系统中扮演着不同的角色,它们之间的区别主要体现在定义与用途、生成与存储以及文件格式与性能等方面。随着Android系统的发展,ART运行时环境和OAT文件逐渐成为主流趋势。