Android分区简述

Android分区

在Android目录下,总是能够看到system,data等文件夹,这里简单对Android分区的概念进行简单的整理。在PMS进行初始化的时候,在扫描阶段会去创建分区的子目录,例如: /system/framework、/system/priv-app和/system/app。

首先来简单了解下System分区的部分子目录及其含义。

目录含义
app存放系统App,包括Google内置的App,也有厂商或运营商提供的App
framework存放应用框架层的jar包
priv-app存放特权App
lib存放so文件
fonts存放系统字体文件
media存放系统的各种声音,比如铃声、提示音以及系统启动播放的动画

上面是比较官方的说明,但我的理解,对于app的子目录,我认为可以用系统应用来进行描述,这个路径下App的最突出的表现是App是无法直接卸载的,如果我们手动uninstall该应用的包名,那么就会报卸载失败的错误。我们能看到的就是停用系统App。如果我们有足够的权限,其实我们也可以让一个普通的apk变成为一个系统App。简单的做法就是将我们自己的Apk推到/system/app路径下,重启下设备就能够让我们的这个Apk变成一个系统App。重启就涉及到了应用安装,后面会继续进行整理。另外priv-app子目录和app子目录相比,就是多了个权限,也就是说这个路径下的apk需要对应的权限配置,当然不用加也是可以的。一般在将该路径下的apk编入系统时,可以在配置文件中添加上对应的权限文件。

system分区简单了解完了,再来了解下 data分区。

目录含义
app存储用户自己安装的App
data存储所有已安装的App数据,每个App都有自己单独的子目录
app-privateApp的私有存储空间
app-lib存储所有App的Jni库
system存储系统配置文件
anr用于存储ANR发生时系统生成的traces.txt文件

对于应用的数据来说,数据信息都是存储在/data/data路径下,不论是用户自己安装的还是系统应用,都是通过包名来进行区分。说到按照包名区分,如果一个App修改了包名,再去安装,就相当于是有了两个不同包名,相同功能的app。所以如果修改包名,并且不要受旧包名的影响,需要将旧的Apk卸载,同时要将其缓存文件删除也就是在data/data路径下找到对应的文件,并且将其删除。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值