android系统源代码目录 -Makefile -bionic bionic C库 -bootable 启动引导相关代码 -build 存放系统编译规则等基础开发包配置 -cts Google兼容性测试标准 -dalvik dalvik虚拟机 -development 应用程序开发相关 -external android使用的一些开源模块 -frameworks Framework框架核心 -hardware 厂商硬件适配层HAL代码 -out 编译完成后代码输出目录 -packages 应用程序包 -prebuilt x86和arm架构下预编译资源 -sdk sdk及模拟器 -system 底层文件系统库,应用及组件 -vender 厂商定制代码 注:makefile来管理android工程,定义规则来指定模块,哪些文件需要编译以及编译的顺序,也可以定义编译规则,打包规则等, android通过makefile来描述android各个组件间的联系并指导它们进行自动化编译,android源代码每个目录中有更多的目录,在每一个最小功能单位目录下都有一个makefile文件,如此,每一级向上,可以通过自己的makefile文件,将整个源代码有规则的联系在一起. 3.1 out 目录下的结构说明 1 /out/target/common
lsdocsgenobjR编译完成后生成的临时目录R目录下:R资源应用的资源R.java文件,obj目录下:ETC一些可直接复用的资源文件比如字体APPS生成的xxintermediates比如StvGuiderintermediatesGlobalSettingintermediatesframework−resintermediatesJAVALIBRARIES包含该系统最基础的一些xxintermediates比如LightHTTPintermediatesgsonsourceintermediatesframeworkintermediates2/out/target/product
ls 这是各种生成的.zip包 和apk包 generic mangosteen muskmelon 比如: /out/target/product/muskmelon/system/framework
lseui−framework−res.apkext.jarframework.jarframework−res.apk/out/target/product/mangosteen/system/framework
ls android-support-v13jar.jar android-support-v7jar.jar gsonjar.jar leokiojar.jar TVEcoWebView.jar android-support-v4jar.jar com-stv-support-v4.jar leokhttpjar.jar lighthttpjar.jar /out/target/product/muskmelon/system/media
lsbootanimationPhilips.zipbootanimation.zip3/out/host
ls common linux-x86 common/obj/JAVA_LIBRARIES目录下: signapk_intermediates antlr-runtime_intermediates guavalib_intermediates /out/host/linux-x86$ ls bin framework gen lib64 obj previous_prebuilt_tools_config.mk bin包下 是各种c语言的打包 签名 sdk的引用工具 framework下是各种jar包 guavalib.jar signapk.jar android系统目录 -/system/app 系统app -/system/data linux自带的组件 -/system/build.prop 系统的属性 -/system/fonts 系统字体 -/system/framework/ 系统的核心文件 框架层 -/system/lib 存放几乎所有的共享库 .so文件 -/system/media 保存系统的提示音,系统铃声 /system/media/audio目录下保存了系统默认的铃声,比如闹铃 短信提示音 来电提示音 ui界面音效 -/system/usr 保存用户的配置文件,如键盘布局,共享,时区文件等 -/data/app 包含了用户安装的app和升级的app -/data/data 包含app的数据信息,文件信息,数据库信息 以包命来区分各个应用 -/data/system 包含设备的各项系统信息 -/data/music 保存了大部分wifi vpn信息获取系统信息的方法 1 是通过android.os.Build类 String board = Build.BOARD String brand = Build.BRAND 2是通过System.getProperty(“XXXX”)来访问 String os_version = System.getProperty(“os.version”) String os_name = System.getProperty(“os.name”) 另外 还有 使用命令cat /system/build.prop 可以查看到很多RO的属性值 也可以通过 adb shell getprop 来获取对应属性值 getprop ro.build.id 或者adb shell 后进入/proc 使用ll 命令查看文件信息