Android FrameWork 底层开发
16lz
2021-01-23
1. FrameWork 底层开发
- Android: 底层开发 开发核心配置
- 软件工程师学习与Android 底层与硬件层次的开发,主要学习Android 的OS开发使用, Android底层固化的 FrameWork层 主要查看旷考层 FrameWork C++ 底层
3
下载JDK 6u45 Liunx bin 版本
Andorid 源码编译:
- boot 和 kernel :
lichee.tar.gz
这个 boot 和kernel 的包 - Android 源代码下载有十几个G ,硬件必须预先有空间
- 必须要编译boot h和 内核 还要Android yu
- 在目录下查看到 lichee 是内核目录:
对kernel 编译
cd lichee/ --- 进入内核目录./build.sh -- 运行当前目录下的此脚本 当前测试 使用 sun6i_fiber 所以利用当前命令来编译boot 和 kernel ./build.sh -p sun6i)fiber)a31s -v boot_v1.0 kernel 编译完成后在 out 目录下生成 ls out/android
3.查看Android源代码:
对Android 编译
编译android : 在Android目录下面1. .build/envsetup.sh2. lunch 列举出编译版本3. 在列举出版本中选择 fiber_a31st-eng 与上面内核版本相同4. extract-bsp : 将boot 和 kernel copy 到指定目录下面5. make -j16 : 笔记本3个多小时6. ls out/target/product/fiber-a31st 下面编译生成的库和二进制7. pac 命令进行烧入打包 使用到包 烧入开发版本中 有630 M 左右
Android 开发目录
Frameworks 是JAVA的核心框架 上层JAVA层,下层C驱动层
Andorid 原生的应用在packages/app 目录下面
分析编译过程:
- build/envsetup.sh 分析:
- 加载编译命令
- 加载平台信息
如下 envsetup.sh 内容 里面有 mm mi
lunch ,mm ,mmm 命令 执行sudo build/envsetup.sh
命令后 加载这些命令
会 includeing device/* 的文件, 会多了一些命令比如: mm,mma ,lunch等命令
- 查看Lunch 命令:
其中包含各种命令版本
在分析lunch 在/etc/profile文件中查看到配置:
同样lunch 中修改代码减少分支
选择fiber-a31st 分支
- 运行当前分支下*.mk 命令,会将当前分支代码覆盖device 目录下的东西
- mmm external/libpng 将修改的文件更新
更多相关文章
- android直接用v4l2采集图片数据
- ADB 命令大全
- android 定时器,每秒变换一次图片!
- Android : RadioBotton—— 图片浏览器
- Android静态图片人脸识别的完整demo(附完整源码)
- android 获取http网络图片保存png
- android 用命令行打包生成 apk
- [置顶] Android常用命令
- 如何设置Android命令行环境变量