2.1 Android项目打包成APK文件的流程
上一篇文章讲解了APK的构成,也知道了我们手机上的APP是将打包好的APK文件传到Android模拟器或Android手机中执行安装所得。这节课咱们就来学习打包APK的流程图,重点是通过哪些工具来打包文件,如下图所示。
1.通过aapt工具打包资源文件,比如res/AndroidManifest.xml/Android基础类库等,生成R.java和resources.ap_文件。
2.处理AIDL文件,生成对应的.java文件。
3.通过javac命令编译Java文件,生成对应的.class文件。
4.通过dx工具把.class文件转化成Davik VM支持的.dex文件(.java=>.class=>.dex)。
5.通过apkbuilder工具将相关文件打包生成未签名的.apk文件。
6.通过jarsigner工具将未签名.apk文件进行签名,生成一个签名apk文件。
7.通过zipalign工具将签名后的.apk文件进行对齐处理。
APK安装流程
3.1 安装方式
- 安装APK文件共有4种方式:
(1)系统程序安装
(2)通过Android市场安装
(3)手机自带安装
(4)使用ADB安装
探究:这里出现了一个新名词ADB,它是什么?有什么作用呢?
ADB的全称为Android Debug Bridge,字面意思就是安卓调试桥接,简单点说,它是Android系统提供的一套工具,通过它,我们可以在电脑上建立一个连接到手机的通道,然后可以在电脑上向手机发送一些指令,完成一些我们需要做的工作。
3.2 安装过程
1.复制APK安装包到/data/app目录下,解压并扫描安装包,把dex文件(Dalvik字节码)保存到/data/dalvik-cache目录,并在/data/data目录下创建对应的应用数据目录。
2.安装后文件所在目录:
/data/app
用户程序安装的目录
安装时把apk文件复制到此目录。
/data/dalvik-cache
将apk中的dex文件,
安装到dalvik-cache目录下。
/data/data
存放应用程序的数据。
/system/app
系统自带的应用程序,
获得adb root权限才能删除。
安装完成后,使用MT管理器,查看相关目录。
3.3 卸载过程
这个卸载的过程,就是删除安装过程中在上述三个目录下创建的文件及目录,我们来进行一一删除。
/data/app
用户序安装的目录
/data/dalvik-cache
将dalvik-cache目录下中的dex文件删除。
/data/data
将应用程序的数据删除。
卸载完成后,再次使用MT管理器,查看相关目录,文件已删除了。
3.4 adb常用命令
1.接下来介绍几种ADB的常用命令:
adb devices: 显示当前连接的设备
adb install: 安装包路径
adb shell dumpsys activity top :获取当前活动界面信息
adb shell dumpsys package [packagename]:获取包信息
adb shell dumpsys meminfo [pname/pid] :获取内存数据
adb shell dumpsys dbinfo [packagename]:获取数据库文件
adb shell pm list packages :列出当前所有已安装的程序包名
adb shell pm path [packagename]:获取指定程序所在路径
小结
这次分享主要学习了在安装或卸载APK时,分别需要安装时将apk文件复制到/data/app 目录下,卸载时将安装在/data/data 中的用户程序删除;
安装时将apk中的dex文件安装到dalvik-cache目录下,卸载时,将dalvik-cache目录下的dex文件删除;安装时将应用程序的数据 存放在/data/data目录下,卸载时,将应用程序的数据删除。