《2022年Infodroid文件系统培训 .pdf》由会员分享,可在线阅读,更多相关《2022年Infodroid文件系统培训 .pdf(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 1 Android源码介绍:1.1 概述.|-Makefile|-bionic(编译系统)|-bootable(启动引导相关代码)|-build(存放系统编译规则,编译工具,及generic.mk 等基础开发包配置)|-buildspec.mk(编译附加的属性,最终体现在镜像中)|-cts(Android兼容性测试套件标准)|-dalvik(dalvik虚拟机)|-development(高层的开发和调试工具)|-device|-external(Android使用的一些开源模组)|-frameworks(核心框架java及c+语言)|-hardware(部分厂家开源的硬件适配层HAL代码)
2、|-ndk|-out(编译结果)|-packages(应用程序包)|-prebuilt(预编译的一些资源,包括库和apk)|-sdk(sdk及模拟器)|-system(底层文件系统库,应用及组件-c语言)-vendor(厂商定制代码)1.2 具体说明packages,build,prebuilt,frameworks,vendor,out:1.2.1 packages:packages/|-apps|-AccountsAndSyncSettings(帐户与同步设置)|-AlarmClock(闹钟)|-Bluetooth(蓝牙)|-Browser(浏览器)|-Calculator(计算器)名师资
3、料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 8 页 -|-Calendar(日历)|-Camera(相机)|-CertInstaller(在 Android 中安装数字签名)|-Contacts(联系人)|-DeskClock(桌面始终)|-Email(email)|-Gallery(相框)|-Gallery3D(3D相框)|-HTMLViewer(浏览器附属界面,被浏览器应用调用,同时提供存储记录功能)|-IM(即时通讯,为手机提供信号发送、接收、通信的服务)|-Launcher2(Home 主应用程序)|-Mms(短信)|-Music(音乐播放器)|-PackageInstal
4、ler(安装和卸载应用程序)|-Phone(电话功能的主程序)|-Protips|-Provision|-QuickSearchBox|-Settings(系统设置)|-SoundRecorder(录音)|-SpeechRecorder|-Stk|-VoiceDialer|-inputmethods|-LatinIME(拉丁文输入法)|-OpenWnn(日文输入法)|-PinyinIME(拼音输入法)|-providers|-ApplicationsProvider名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 8 页 -|-CalendarProvider|-ContactsP
5、rovider|-DownloadProvider|-DrmProvider|-GoogleContactsProvider|-MediaProvider|-TelephonyProvider|-UserDictionaryProvider-wallpapers|-Basic|-LivePicker|-MagicSmoke-MusicVisualization 1.2.2 build:(增删系统应用程序)build/target/product目录下,core.mk和 generic.mk,控制系统应用程序是否编进镜像 1.2.3 prebuilt:prebuilt/android-arm/|
6、-android-app(第三方apk)|-android-bsp(bsp的库)|-android-multimedia(中间件的库)1.2.4 frameworks:系统的资源文件夹frameworks/base/core/res,包含系统所用的图片,字符串等,如桌面背景的图片就位于frameworks/base/core/res/res/drawable/default_wallpaper.jpg名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 8 页 -1.2.5 vendor:vendor/infotm/wwe10/AndroidBoard.mk,添加动画,修改开机andr
7、oid小字动画,需要修改这个文件 1.2.6 out:编译结果:out/|-host(主机内容)|-common(主机的通用内容)|-obj|-linux-x86(编译生成的主机Linux上运行的工具)|-bin(这个目录的工具比如在生成iNand镜像时用的mkimage,查看应用程序包名,类名和图标的aapt,还有在作android小字logo转化图片格式的工具rgb2565,建议保存aapt,rgb2565工具,这样可以方便查看apk信息及图片格式转换)|-cts_dalviktests|-framework|-lib|-obj|-target(目标机内容)|-common(目标机的通用内
8、容)|-R|-cts|-docs|-obj(jar级的中间文件)|-external|-skia|-product(目标机的产品目录)|-wwe10-tmp-org-apacheout/target/product/wwe10/|-data(生成userdata.img的源目录)|-obj(中间文件目录)|-APPS|-DATA|-ETC|-EXECUTABLES|-KEYCHARS|-NOTICE_FILES名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 8 页 -|-PACKAGING|-SHARED_LIBRARIES|-STATIC_LIBRARIES|-include|
9、-lib|-root(生成ramdisk.img的源目录)|-data|-default.prop|-dev|-init.rc|-proc|-sbin|-sys|-system|-symbols(符号的目录)|-sbin|-system-system(生成system.img的源目录)|-app(应用程序目录)|-bin(c/c+可执行程序)|-build.prop(与buildspec.mk对应,buildspec.mk中的属性会输出到这个文件)|-etc(配置文件)|-fonts(字体文件)|-framework(frameworks代码对应生成的jar包)|-lib(Android系统运
10、行需要的c/c+库)|-media(Andorid系统音频文件)|-usr-xbin-Source codeout/target/common/objout/target/product/wwe10/obj/out/target/product/wwe10/system说明意义:用中间文件和最后产物之间的关系来说明make clean 的意义,以及不 make clean 而发生的某些编译后的异常情况,2 InfoDroid与 Android源码的区别InfoDroid所作的主要修改:1.frameworks:封装了所有盈方修改过的代码,保留了base/core/res资源文件夹2.prebu
11、ilt:增加了app-source-pack目录,以上封装的包和库都放在这个文件夹下名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 8 页 -prebuilt/app-source-pack/|-android-external|-android-frameworks|-android-packages(盈方 微定制应用程序)|-10inch(对应10寸板)|-8inch(对应8寸板)|-default_desktop(定制桌面图标摆放位置文件,包括8,10寸)|-android-system-other|-Android.mk|-Makefile|-Nand_init.rc(N
12、and对应的init.rc)|-android-common_intermediates|-android.test.runner_intermediates|-android_filesystem_config.h|-android_stubs_current_intermediates|-core_intermediates|-etc|-framework_aidl|-framework_intermediates|-iNand_init.rc(iNand对应的init.rc)|-javax.obex_intermediates-vendorInfoDroid的定位是封装Android源码
13、中所有盈方微修改和增加的部分,在此基础上,用于快速出货和少量 的2次开发。3 文件系统的各种 编译方法首先 编译之 前必 作的一件 事是设置 环境变量,在 命令 行输入:$.infodroid名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 8 页 -$dodroid按需要 选择,接下来在 命令 行下输入:$.build/envsetup.sh$choosecombo选择完毕 后,环境变量也 就设置 完毕,接下来可以进行编译,编译的方法有以下几种:1.make用来编译 整个源码,用于生成镜像;只有当out/host目录下的编译工具已经 生成时,可以用以下的编译方法:2.mm编译 当
14、前 目录下的代码,前提是 当前 目录下有Android.mk3.mmm 编译 指定 路径 下的代码,当然这个目录下 也是需要有Android.mk存在的注:mm和mmm是用于 局部模 块 编译的,不 仅包括java代码模 块,还包括c/c+代码模 块,比如修改了packages/apps/Browser的图标,那么,在源码 根 目录下:$mmm packages/apps/Browser或者 在packages/apps/Browser这个目录下,直接:$mm使用mm或mmm后,可以通过查看out/target/product/wwe10/system/app目录下的对应apk修改时间是否最新
15、来验证,或者更直 接的 双击打 开Browser.apk,然后查看res/drawable-mdpi下的是否为 新 图标,如果不对,那么 这时可以 将out/target/common/obj/APPS/Browser_intermediates(应用程序对应的中间文件夹)删除,然后再编译;注:在编 新版本 之前,需make clean;4 文件系统的打 包和 烧录:5 桌面程序的系统开发:6 应用程序的增删:7 文件系统的其他 开发部分:logo替换,桌面 默认 背静替 换,设 备信息 替换,语言设置,Nand和iNand,修改Settings默认 设置,锁屏 样式 切换,修改Settings中的设 备信息;名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 8 页 -8 小练习 和答疑 部分:换logo,桌面背景,增删apk,桌面图标 排布,修改设 备信息,设置语言,修改Settings默认 设置,锁屏 样式 切换,名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 8 页 -