【移动安全基础篇】——10、Android源代码修改

1. 内核代码下载
模拟器内核:prebuilts/qemu-kernel
手机内核:device/品牌/内核版本/kernel
可 以 在 官 网 中 下 载 对 应 的 内 核 代 码 进 行 编 译
(http://source.android.com/source/building-kernels.html),应该使用的指令为:

git clone https://android.googlesource.com/kernel/msm.git
cd msm
git branch –a 查看 branch 分支
git checkout 分支

如 果 google 无 法 访 问 , 可 以 将 http://source.android.com/ 替 换 为 清 华 源:https://aosp.tuna.tsinghua.edu.cn/即可,上面的指令可以修改为:git clone https://aosp.tuna.tsinghua.edu.cn/kernel/msm.git
2. 内核代码 Build:

在 shell 中导入 gcc 库,位于 Android 源码中
export PATH=$(pwd)/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin:$PATH
导出设置

export ARCH=arm
export SUBARCH=arm
export CROSS_COMPILE=arm-eabi-
make mako_defconfig #对应 mako 版本
make –j4

把 build 出来的内核(zImage)copy 到对应 Android 源码下的 prebuild 中来替换

3. 编译手机镜像
1) 下载驱动文件
https://developers.google.com/android/nexus/drivers
注意下载与手机版本和源代码版本对应的驱动文件,有多少就下载多少
把下载好的驱动配置文件放到 Android 目录下,使用 chmod a+x,然后执行
2) 编译

3) 刷机
确认上面步骤操作无误后
adb reboot bootloader
fastboot –w flashall
4. 编译指令
进行部分编译:

m: 编译所有模块
mm: 编译当前目录下的模块,当前目录下要有 Android.mk 文件
mmm: 编译指定路径下的模块,指定路径下要有 Android.mk 文件

部分编译完成之后,需要使用 make snod 把编译的东西整合到镜像

总会有不期而遇的温暖. 和生生不息的希望。
原文地址:https://www.cnblogs.com/devi1/p/13486456.html