安卓系统手机目录

摘要:
Android手机通常包括以下标准内部分区:/boot/system/recovery/data/cache/misc和SD卡分区:/sdcard/SD extboot引导加载程序、内核和根文件系统分为三个不同的分区。如果没有这样的分区,手机无法启动到Android系统。这个分区基本上包含了整个Android操作系统,除了内核和ramdisk。包括Android用户界面和所有预装的系统应用程序。删除此分区将删除整个Android系统。通过输入Recovery程序或bootloader程序,您可以安装新的ROM,即新的Android系统。
一、文件夹
1./acct/    系统回收站,删除的系统文件。
 
 
2./cache/    缓存
 
 
3./data/    用户的所有程序相关数据
    app/    所有用户安装的apk文件
    app-private/
    data/    每一个应用的数据
        com.xx.appname/    每一个应用的数据都存放在本目录下的一个以包名为命名的文件夹
            cache/
            lib/
            files/
            shared_prefs/
        system/    安装app会在这里进行注册表的配置
            package.xml    注册表xml
        lost+found/
    
4./proc/    运行时的文件
 
 
5./dev/    设备文件,Linux系统常规文件夹,里面的文件很多都是设备模拟的文件系统
 
 
6./storage/    手机存储设备
    sdcard0/    第一块SD存储卡
 
7./firmware/    
 
 
8./mnt/    挂载点
    adcard0/    存储卡挂载目录
    udisk/    U盘挂载目录
 
 
9./sys/    Linux 内核文件
 
 
10./system/    Android 系统文件
    app/    存放的是常规下载的应用程序,可以看到都是以APK格式结尾的文件。在这个文件夹下的程序为系统默认的组件,自己安装的软件将不会出现在这里,而是data文件夹中。
    bin/    这个目录下的文件都是系统的本地程序,从bin文件夹名称可以看出是binary二进制的程序,里面主要是Linux系统自带的组件(命令)
    etc/    android系统的配置文件,比如APN接入点设置等核心配置。
    fonts/    这里面保存着系统的字体,标准字体和粗体、斜体外可以看到文件体积最大的可能是中文字库,或一些unicode字库,从T-Mobile G1上可以清楚的看到显示简体中文正常.如果你有root权限,可以往里添加自己喜欢的字体,比如雅黑。
    framework/    主要是一些核心的文件,从后缀名为jar可以看出是是系统平台框架。
    lib/    里面保存的是系统底层类库,里面很多都是框架层的实现文件,一般以.so后缀结尾类似windows下的dll文件
    usr/    用户文件夹,包含共享、键盘布局、时间区域文件等。
    xbin/
    media/
        audio/    保存着安卓系统默认的铃声
            alarms/    闹铃提醒
            notificatinos/    短信或提示音
            rignstones/    来电铃声
            ui/    界面音效,比如键盘敲击声
        lockscreen/
        theme/
        wallpaper/
    lost+found/
    vendor/
 
 
11./sbin/    系统工具,比如 ps/cp/pm 等
 

支付宝APP逆向工程笔记之(一)native library

最近自己想写一个APP,由于是计算密集型的APP,用到了 Android 的NDK。NDK这么好的东西,支付宝、微信、、、APP肯定会用上吧,打开APK文件一看果然是。而且里面好多都是我认识的library:

首先是ffmpeg,这个比较有意思,因为FFMPEG是用LGPL 发布的,对商业软件不是那么友好,Ali没有直接使用,而是用了Bilibili的 ijkFFMPEG,虽然LGPL没有GPL限制严,但是也是有传染性的,如果Ali没有修改FFMPEG 源代码,可以不用公开源代码,但是License文件不能丢,有人举报还是可以把它钉在FFMPEG耻辱柱上的。微信也用了FFMPEG,企鹅的拿来主义不用我多说,数字签名直接签上自己了,更别说License文件了,能找到就奇怪了。企鹅曾因为QQ影音被钉上耻辱柱,如果追究起来,它应该还可以上榜好多次。

amnet-http 是 http 协议相关的一些东西,不是http协议的实现,里面用到了 Google 的Brotli 压缩格式、Facebook 的ZSTD 压缩算法,看来Ali还是不行,什么时候Google、Facebook能用 Ali 的库就牛了。这个库叫amnet,应该是 Ali’s mnet意思, mnet是别人家的东西,Ali改了改。

amnet-mmtp, mmtp应该是另外一个Protocol了,没看错的话就是MPEG Media Transport Protocol。另外还有amnet-mng, mng貌似是manager的缩写,用来管理的吧。

APSE 不知道是不是AliPay SEcurity的缩写,其实这里感觉大部分内容都是mbedtls 的,主要是SSL/TLS相关内容。既然跟SE(安全)相关,肯定少不了加密,这里确实能找到很多加密算法的常数。

openssl,微信里也有,SSL库,曾经的心脏出血说的就是它。

protobuf,又是Google的,

qp-ping,貌似是 queue pair,网络和IO相关的

sigAlgorithm,名字很直白,签名算法。但是这不是我们密码学里的签名算法,是自己用手写的签名。

silk,Skype的音频库,微软大方开源给大家用了,对商业使用也很友好,随便用。

XNN,Caffe, MXNET 深度学习的库,在客户端不知道用来干嘛的?用来用户行为分析?

tnet,小型网络库

以上内容很多都是根据我的个人经验总结的,不保证正确性!而且上面介绍的都是native library,不是Java库,我电脑上没有.dex的反编译工具,不过按照Java的特性,它跟开源差不多,有时间的话再反编译一下,现在手里有更重要的事情要做,先写个文档保存一下,以后继续。

 

安卓手机一般包括以下标准内部分区:

  • /boot
  • /system
  • /recovery
  • /data
  • /cache
  • /misc

另外还与SD卡分区:

  • /sdcard
  • /sd-ext
boot 分区

一般的嵌入式Linux的设备中.bootloader,内核,根文件系统被分为三个不同分区。在Android做得比较复杂,从这个手机分区和来看,这里boot分区是把内核和ramdisk file的根文件系统打包在一起了,是编译生成boot.img来烧录的。

如果没有这个分区,手机通常无法启动到安卓系统。只有必要的时候,才去通过Recovery软件擦除(format)这个分区,一旦擦除,设备只有再重新安装一个新的boot分区,可以通过安装一个包含boot分区的ROM来实现,否则无法启动安卓系统。

system 分区

这里是挂载到/system目录下的分区。这里有 /system/bin 和 /system/sbin 保存很多系统命令。它是由编译出来的system.img来烧入。

相当于你电脑的C盘,用来放系统。这个分区基本包含了整个安卓操作系统,除了内核(kernel)和ramdisk。包括安卓用户界面、和所有预装的系统应用程序。擦除这个分区,会删除整个安卓系统。你可以通过进入Recovery程序或者bootloader程序中,安装一个新ROM,也就是新安卓系统。

recovery分区

recovery 分区即恢复分区,在正常分区被破坏后,仍可以进入这一分区进行备份和恢复.我的理解是这个分区保存一个简单的OS或底层软件,在Android的内核被破坏后可以用bootloader从这个分区引导进行操作。

这个分区可以认为是一个boot分区的替代品,可以是你的手机进入Recovery程序,进行高级恢复或安卓系统维护工作。

userdata 分区

它将挂载到 /data 目录下, 它是由编译出来的userdata.img来烧入。

这个分区也叫用户数据区,包含了用户的数据:联系人、短信、设置、用户安装的程序。擦除这个分区,本质上等同于手机恢复出厂设置,也就是手机系统第一次启动时的状态,或者是最后一次安装官方或第三方ROM后的状态。在Recovery程序中进行的“data/factory reset ”操作就是在擦除这个分区。

cache 分区

它将挂载到 /cache 目录下。这个分区是安卓系统缓存区,保存系统最常访问的数据和应用程序。擦除这个分区,不会影响个人数据,只是删除了这个分区中已经保存的缓存内容,缓存内容会在后续手机使用过程中重新自动生成。

MISC分区

这个分区包括了一些杂项内容:比如一些系统设置和系统功能启用禁用设置。这些设置包括CID(运营商或区域识别码)、USB设置和一些硬件设置等等。这是一个很重要的分区,如果此分区损坏或者部分数据丢失,手机的一些特定功能可能不能正常工作。

SD卡分区

一般默认的是挂载在/sdcard目录。

这个分区不是设备系统存储空间,是SD卡空间。从使用上讲,这个是你自己的存储空间,可以随便你任意存放相片、视频、文档、ROM安装包等。擦除这个分区是完全安全的,只要你把分区中你需要的数据都备份到了你的电脑中。虽然一些用户安装的程序会使用这个分区保存它的数据和设置信息,擦除了这个分区,这些程序的数据,比如有些游戏的存档,就会全部丢失。在既有内部SD卡和外部SD卡的设备中,比如三星Galaxy S和一些平板电脑,/sdcard分区通常指向内部SD卡。外部SD卡,如果存在的话,会对应一个新的分区,每个设备都不一样。在三星Galaxy S手机中, /sdcard/sd代表的是外部SD卡,而其它设备,有可能是/sdcard2。与/sdcard不同,没有系统或应用程序数据会自动存放在外部SD卡中。外部SD卡中的所有数据都是用户自己添加进去的。在你把分区中需要的数据都备份到了你的电脑中之后,你可以安全的擦除这个分区。

SD卡扩展分区

它的目录名是 /sd-ext ,它不是一个标准的Android分区,是运行APP2D软件扩展出来分区。目的是为了多扩展一个安装程序空间,这个对于Flash空间(或者说ROM空间)不够,又喜欢安装软件的人是有用应用。

 

Android 存储路径浅析

https://www.jianshu.com/p/80e10b3dbba5

免责声明:文章转载自《安卓系统手机目录》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇2、k8s api访问-token、RBAC、证书Oracle基础 索引下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Android 布局详解

Android 布局详解 1.重用布局 当一个布局文件被多处使用时,最好<include>标签来重用布局。 例如:workspace_screen.xml的布局文件,在另一个布局文件中被重复使用三次,那么可使用如下的布局代码: <LinearLayout androd:layout_width=”fill_parent” and...

Android设置点击变色效果

首先在drawable下面新建一个select.xml文件,代码如下: 1 <?xml version="1.0" encoding="utf-8"?> 2 <selector xmlns:android="http://schemas.android.com/apk/res/android" > 3 <item an...

rsync的相关使用,参数设置。

前期拷贝文件一直用scp,其实也绝的蛮好用的,最近想拷贝一份脚本到服务器,本地是用python -m在脚本目录创建了.venv的Python运行环境文件。 但经过多次测试,该环境想直接拷贝到服务器上面使用无法实现,只能曲线服务器上还是用virtualenvwrapper的虚拟环境。 所以文件传输到服务器的过程中,我想过滤.venv文件,发现scp无此功能,...

zlib编译

1.下载zlib库 http://zlib.net/ http://zlib.net/zlib-1.2.11.tar.gz 2. 将下载后的文件解压到如下目录 E:osgzlibzlib-1.2.11 3. 用VS2019打开 E:osgzlibzlib-1.2.11contribvstudiovc14zlibvc.sln 文件 4.修改编译类型 5.修...

uniapp——如何配置scss和uview ui框架

一、scss项目配置步骤 1.APP.vue 设置:lang="scss" <style lang="scss"></style> 2.uni.scss 引用:global.scss文件 @import '@/static/css/common/global.scss'; 3.global.scss文件根据项目需求自行添加相应变量...

Google 浏览器 离线包下载方式

最近因工作需要,需要安装google浏览器,并且安装在系统固定目录,用360软件管理下载后发现默认安装在C:UsersadministratorAppDataLocalGoogleChromeApplication下, 如果在域环境下,切换用户后需要找到这个目录,或者重新安装,因此想下载个离线包进行安装,打开https://www.google.cn/ch...