android系统目录大整理

970 阅读2分钟

一、APK安装目录

1. /data/app --- 普通app安装的目录

该目录,adb需要root权限才能访问

2. /system/app/ --- 系统app安装目录,不可卸载

该目录,adb不需要root权限也能访问

3. /system/priv-app/ --- 系统app安装目录,不可卸载,权限比 system/app 更高

该目录,adb不需要root权限也能访问

4. /system/custom/app --- 系统app安装目录, 可卸载

该目录,adb不需要root权限也能访问

5. /system/custom/private/app --- 系统app安装目录,可卸载,比 system/custom/app 权限更高

该目录,adb不需要root权限也能访问

二、系统API和目录

1. System directories

⚠️ We can't write to these folers

MethodResult
Environment.getDataDirectory()/data
Environment.getDownloadCacheDirectory()/cache
Environment.getRootDirectory()/system
2. External storage directories

⚠️ Need WRITE_EXTERNAL_STORAGE Permission

MethodResult
Environment.getExternalStorageDirectory()/storage/sdcard0
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_ALARMS)/storage/sdcard0/Alarms
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM)/storage/sdcard0/DCIM
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS)/storage/sdcard0/Download
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MOVIES)/storage/sdcard0/Movies
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MUSIC)/storage/sdcard0/Music
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_NOTIFICATIONS)/storage/sdcard0/Notifications
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES)/storage/sdcard0/Pictures
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PODCASTS)/storage/sdcard0/Podcasts
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_RINGTONES)/storage/sdcard0/Ringtones
3. Application directories
MethodResult
getCacheDir()/data/data/package/cache
getFilesDir()/data/data/package/files
getFilesDir().getParent()/data/data/package
4. Application External storage directories
MethodResult
getExternalCacheDir()/storage/sdcard0/Android/data/package/cache
getExternalFilesDir(null)/storage/sdcard0/Android/data/package/files
getExternalFilesDir(Environment.DIRECTORY_ALARMS)/storage/sdcard0/Android/data/package/files/Alarms
getExternalFilesDir(Environment.DIRECTORY_DCIM)/storage/sdcard0/Android/data/package/files/DCIM
getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS)/storage/sdcard0/Android/data/package/files/Download
getExternalFilesDir(Environment.DIRECTORY_MOVIES)/storage/sdcard0/Android/data/package/files/Movies
getExternalFilesDir(Environment.DIRECTORY_MUSIC)/storage/sdcard0/Android/data/package/files/Music
getExternalFilesDir(Environment.DIRECTORY_NOTIFICATIONS)/storage/sdcard0/Android/data/package/files/Notifications
getExternalFilesDir(Environment.DIRECTORY_PICTURES)/storage/sdcard0/Android/data/package/files/Pictures
getExternalFilesDir(Environment.DIRECTORY_PODCASTS)/storage/sdcard0/Android/data/package/files/Podcasts
getExternalFilesDir(Environment.DIRECTORY_RINGTONES)/storage/sdcard0/Android/data/package/files/Ringtones

来自github:gist.github.com/lopspower/7…

三、framework目录

1.system/framework/framework.jar

framework.jar

靠,这个jar是空的,里面没有代码。。

android 5.0之后增加ART机制,所有的framework中的jar被优化了,优化后生成oat文件统一放到了/system/framework/arm/*.oat中。

未完待续

我会在这篇文章里,持续整理一些重要的系统目录~




如果文章对你有一点点帮助,点个赞 再走吧,赞美是一种美德。

精选文章: