Android安装的时候系统都做了些什么

引言:

一个APK文件就是一个压缩包,可以想压缩包一样解压打包。

Android是Liunx系统的,

使用过的文件系统可能因制造商或Android版本不同,新版本的使用ext3文件系统。三星使用的是自己的文件系统RFS。

Android里面最重要的一个概念就是沙箱。

编译程序
Java文件会怎么编译
1.Java文件会正常通过Java JVM编译成.class文件
2.dx工具把.class文件编译成Dalvik虚拟机运行的格式。
这个特殊的java格式文件通过DVM(Dalvik Virtual Machine)运行,一个通过开源的JRE实现的

更新
在更新的安卓中,当使用jack的时候转换步骤可以跳过,这种方式中java文件被编译成dx格式。
自从 4.4(KitKat)Android就已经有新的ART runtime ,在Android 5 (Lollipop)正式替换Dalvik Virtual。

Asset目录安装的时候会怎么样?

Android提供Assets是为了添加一些二进制的文件的,比如数据库之类的,文件会直接放到目录下,不会经过编译或者优化。
不要随便把文件放在这个目录下,要正确使用。

/res/raw在安装的时候会发生什么?

就像Assets目录一样,你可以放二进制文件(Html文件/帮助文件),这些文件会被编译优化,如果可能的话。

Manifest文件其他的XML文件会怎么样。

都会被存储编译成二进制的XML格式,进行过优化的。

沙箱

从Android OS来看,单个程序的特征:

  • 自己的进程
  • 有单独用户 Like Liunx
  • 单独的虚拟机
  • 在堆中分配内存
  • 文件系统中有指定的地址

每个Android的APP都限定有权限用户才能访问APP的内部的存储空间。(被标准的Liunx系统的权限管理保护)有自己的DVM进程,不能被外部进程访问。
如果要程序有从沙箱访问外部的功能,需要在配置文件中声明权限。

安装的时候的步骤

1.程序创建的时候会创建新的用户
2.程序创建的时候会给新用户访问内部存储的权限
3.apk文件会被解压到这个内部的文件夹下
4.Android-Manifest配置文件会被解析,并且里面的intnet-filter的生命会被系统注册。
5.现在程序安装好了,可以启动了。、

APK解压之后各种文件在什么位置上。
当你安装一个app的时候,系统会复制apk到/data/app文件夹下,并且用包名跟安装次数去命名。
我尝试手动安装一个app,复制粘贴APk文件到/data/app文件夹下,并发重启设备我发现它就像一个安装的app一样工作的很好。
任何安装的APP都有以下特征
1.APK文件在/data/app/package-number.apk
2.dex文件在data/dalvik-cache/data@app@package-number.apk@class.dex
3.lib文件在/data/data/packagelib文件下
4.data在/data/data/package文件下
5.cache在/data/data/package/cache文件下

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如何在Android系统手机上安装软件的三种方法 很多朋友初用安卓手机,可能都会比较陌生。下面就介绍一下如何在安卓系统安装软件。在Android平台上安装文件的后缀名一般为“.apk”(如果你下载的软件是rar或者zip的话请解压之后再安装),和WM平台上的安装文件的后缀名“.exe”或者S60平台上的安装文件的后缀名“.sis或.sisx”相似。所以只要看到“.apk”结尾的文件就肯定是安装文件了。 在安装软件之前我们首先要对手机进行一系列的设置。在手机程序菜单点“设置”进入,然后点击“应用程序”选项,在打开菜单将“未知源”选项勾选。然后进入“开发”子选项,勾选“USB 调试”选项。这样就完成了手机的设置。 完成如上准备工作后就可以进行软件的安装工作了。常用的安装方法一共有三种,下面我依次来为大家讲解。 方法一 使用Android系统的手机最简单的软件安装方法是进入件Market或者也叫电子市场(如果提示需要设置Gmail的话请参看链接)下载安装。使用非常简单,只需用手指拖出程序菜单,点击Market(或者叫电子市场)图标进入该程序。 然后在搜索框(search)填写你需要的软件名称搜索即可,或者在软件分类和推荐软件列表找到你要安装的软件点击下载安装即可,如果是免费软件会显示为“Free”,如果是收费软件的话会提示软件的费用为“$xx”。 利用Market下载和安装都非常方便,但是此方法的缺点是非常浪费流量(就算软件是免费的,但是网络流量还是要收费的哦!),所以此法只推荐在连接Wifi(如果你Wifi不会设置的话,可以参看该链接)的情况下使用。另外如果你想安装收费软件,但是又不想花钱那么你可以按照下边的方法安装你在论坛或网站下载的以“.apk”为后缀名的破解版软件。 方法二 如果你的手机所刷的固件是安卓自制的固件话,那么你的的手机可能已经集成了“APK安装器”,你只需要把要安装的文件用读卡器拷贝到内存卡。然后在在手机程序菜单点“设置”进入,然后点击“应用程序”选项,拖动菜单到下端可以看到“APK安装器”,点击进入。 安装器会自动搜索你内存卡安装程序,你只需选择要安装的程序名称点击安装即可。 如果你的手机使用的是原生的或者没有集成程序安装器的ROM那么你需要去Market下载一款名为App Installer(其实就是软件安装器)的软件。在Market下载安装完成后,在程序菜单就可以找到刚安装的App Installer了,使用方法同上。 方法三 直接使用电脑安装软件。使用“APK安装器”可以直接连接PC将电脑的软件安装到你的手机。不过前提是必须先要安装Android手机的USB驱动,否则电脑无法识别所连接的手机,点击下载USB驱动程序,下载完成解压安装即可。 USB驱动安装完成后电脑就可以将你的手机自动识别为移动磁盘了。这是再点击下载“APK安装器”,下载安装完成后将该压缩包解压,然后点击运行该程序。该程序会自动关联电脑的apk程序,安装软件时只需双击apk安装文件即可。该程序会帮助你自动将软件安装到你的手机里。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值