Loading...
Framework的范围
TT_123456789 发布于 07/27 08:34 浏览 107

Framework负责APPLICATION FRAMEWORK、ANDROID RUNTIME和LIBRARIES三部分。 a) 系统Manager和Service相关内容 b) 系统接口和jni相关内容 c) 系统功能相关内容(watchdog、vold、binder等) d) 虚拟机dalvik、art e) 系统so库相关内容 f) CTS、GTS等预分析 g) Monkey预分析 h) 系统稳定性问题(系统ANR、冻屏、重启、蓝屏等) i) 系统性能问题 framework基础 语言基础:Java、C++、C 技术基础:进程间通信,多线程,jni,linux相关知识,binder Android代码管理 代码结构   framework开发工作方式与应用开发的工作方式是完全不同的,framework开发是基于Android源代码进行的开发,版本管理主要使用:git,repo两种工具。如果想要学习framework开发,必须需要下载一套Android源码。官方下载地址【参考、需翻墙】: https://source.android.com/source/downloading.html,具体的下载编译调试代码的方式可以参考老罗的博客视频,讲解的非常清楚,附上地址(http://0xcc0xcd.com/p/index.php),感谢老罗。 当下载完成代码后首先了解一下Android源代码的结构:

├── bionic android上实现的libc库 ├── bootable 存放可启动项,如recovery、bootloader等 ├── build android编译系统所用到的make文件及其它工具 ├── cts android兼容性测试 ├── dalvik dalvik虚拟机 ├── development 与开发相关的一些东西 ├── device 存放需要适配的设备信息 ├── external 第三方库 ├── frameworks framework部分 ├── hardware 硬件相关代码 ├── kernel kernel相关代码 ├── libcore android上实现的Java基础库 ├── Makefile ├── ndk ├── out 编译输出目录 ├── packages 包含系统应用、壁纸应用、内容提供者、输入法等 ├── prebuilt 预编译好的工具 ├── sdk sdk相关内容 ├── system 操作系统层次的一些可执行程序和配置文件 ├── u-boot 用于引导linux启动的u-boot 而framework开发主要要了解的就是frameworks下面的内容。 代码编译

当把代码下载完毕后需要对源代码整体进行编译,具体方法如下:

1.source build/envsetup.sh   读取各个board的vendorsetup.sh 2.lunch    去选择要编译的对象

3.完整系统编译,输出到out/target/product//...

      make -j4(j4为使用四个线程同时编译)

4.如果要单编某个模块,就是用如下命令来编译需要的模块。

   编译bootloader,       make bootloader    编译kernel生成boot.img,       make bootimage    编译system生成system.img,       make systemimage    编译userdata生成userdata.img,       make userdataimage    编译recovery生成recovery.img,       make recoveryimage

当编译好对应的image后,可以使用fastboot将image烧到手机里面:

如何进入fastboot:    开机状态下执行adb reboot bootloader    关机状态组合键:home+power 1.检查连接设备      Fastboot devices 2.烧写system.img    Fastboot flash system system.img 3.烧写boot.img(recovery)    fastboot flash boot boot.img(recovery.img) 4.烧写bootloader Fastboot flash 2ndbl u-boot.bin

*本文仅代表作者观点,不代表易百纳技术社区立场。系作者授权易百纳技术社区发表,未经许可不得转载。

点赞0
收藏0
分享

精彩评论

内容存在敏感词
易百纳技术社区
确定要删除此文章、专栏、评论吗?
确定
取消
易百纳技术社区