Framework的范围

Framework的范围 2020-07-27 08:34:48 438

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个
内容存在敏感词
手气红包
    易百纳技术社区暂无数据
相关专栏
置顶时间设置
结束时间
删除原因
  • 广告/SPAM
  • 恶意灌水
  • 违规内容
  • 文不对题
  • 重复发帖
打赏作者
易百纳技术社区
您的支持将鼓励我继续创作!
打赏金额:
¥1易百纳技术社区
¥5易百纳技术社区
¥10易百纳技术社区
¥50易百纳技术社区
¥100易百纳技术社区
¥0.1易百纳技术社区
支付方式:
微信支付
支付宝支付
易百纳技术社区微信支付
易百纳技术社区
打赏成功!

感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~

举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

审核成功

发布时间设置
发布时间:
是否关联周任务-专栏模块

审核失败

失败原因
备注
拼手气红包 红包规则
祝福语
恭喜发财,大吉大利!
红包金额
红包最小金额不能低于5元
红包数量
红包数量范围10~50个
余额支付
当前余额:
可前往问答、专栏板块获取收益 去获取
取 消 确 定

小包子的红包

恭喜发财,大吉大利

已领取20/40,共1.6元 红包规则

    易百纳技术社区