右击项目名称,Run as Android Appication之后,Android项目打包安装过程

1.打包生成.apk文件:

1)把源码中的.java文件编译生成.class文件

2)将所有的.class文件通过dex.bat生成为classes.dex文件

3)生成资源索引表文件 resources.ap_

4)将项目的配置文件Manifest.xml转换为二进制文件

5)使用debug.keystore对整个项目进行打包签名,如果有配置ANDROID_SDK_HOME这个环境变量来存放模拟器的话,debug.keystore就在该目录的.android目录下。若没有配置,一般放在了C:\Users\用户名\.android目录下。

2.将生成的.apk文件加载到模拟器中

默认放置到/data/local/tmp中

3.安装加载到模拟器中的apk文件

1)把/data/local/tmp/xxx.apk文件,剪切到/data/app/目录下,并重命名一般是变为XXX-1.apk或者XXX-2.apk

2)在/data/data/文件夹下以包名创建一个文件夹, 用于存储当前程序的数据

3)在/data/system/packages.xml和/data/system/packages.list文件中分别添加一条记录,以便于系统管理该应用。

查看具体过程,可以通过新建一个项目,然后Run as Android Application来查看,如下:

新建一个android项目,名为011launch_process:

android菜鸟学习笔记16----Android项目打包安装过程(Run as Android Application)

注意到,此时bin下面只有一个res目录,而res此时也是空的

此时打开File Explorer视图:(window ->show view->other中找到)

注意/data/local/tmp目录,此时为空

android菜鸟学习笔记16----Android项目打包安装过程(Run as Android Application)

然后右击项目名称,Run as Android Application:

android菜鸟学习笔记16----Android项目打包安装过程(Run as Android Application)

此时,bin目录中多出了很多文件

而且,如果注意观察/data/local/tmp目录,会发现多出来一个文件,然后又消失了

android菜鸟学习笔记16----Android项目打包安装过程(Run as Android Application)

然后进入到/data/app/,会发现这个目录下多出了一个文件,然后一直都存在着。

android菜鸟学习笔记16----Android项目打包安装过程(Run as Android Application)

而且,/data/data/下多出了一个与项目包名相同的目录

android菜鸟学习笔记16----Android项目打包安装过程(Run as Android Application)

将/data/system/packages.xml和/data/system/packages.list导出,然后查看内容:

packages.xml中多出下面package节点:

 1 <package name="cn.csc.launch_process" codePath="/data/app/cn.csc.launch_process-1.apk" nativeLibraryPath="/data/data/cn.csc.launch_process/lib" flags="0" ft="14e6b736328" it="14e6b737636" ut="14e6b737636" version="1" userId="10049"> 2  3 <sigs count="1"> 4  5 <cert index="1" /> 6  7 </sigs> 8  9 <perms />10 11 </package>

packages.list中多出下面一行:

cn.csc.launch_process 10049 1 /data/data/cn.csc.launch_process

以上,就是Run as Android Application的完整过程。

更多相关文章

  1. Android经典项目案例开发实战宝典
  2. Android Studio 3.5中导入项目时关于Gradle错误的解决
  3. Android根文件系统分析
  4. 在Android java代码中如何改变文件的权限
  5. 《Android学习指南》文件夹
  6. android 获取文件夹、文件的大小 以B、KB、MB、GB 为单位
  7. android下载编译以及文件系统提取总结
  8. Android 文件保存与读取
  9. 技巧: 如何安装apk文件在android仿真器中

随机推荐

  1. c语言初学者用什么软件?
  2. 二维数组怎么定义
  3. c++ 图解层序遍历和逐层打印智能指针建造
  4. c语言中二维数组怎么用?
  5. asp是什么文件格式
  6. 怎么用dijkstra算法找到五一最省旅游路线
  7. .net中的错误处理机制是什么?
  8. 学习c语言需要什么软件?
  9. C++学习之new()和malloc()函数
  10. 浅谈C++生成GUID的两种方法