zoukankan      html  css  js  c++  java
  • 【移动安全基础篇】——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 把编译的东西整合到镜像

    总会有不期而遇的温暖. 和生生不息的希望。
  • 相关阅读:
    发布自己的包到Nuget上
    asp.net core 中的MD5加密
    asp.net core csrf
    KNN算法
    ios测试apk
    python多进程
    机顶盒 gettimeofday()获取毫秒溢出
    Kiggle:Digit Recognizer
    Kaggle:Titanic: Machine Learning from Disaster
    Python抓取微博评论
  • 原文地址:https://www.cnblogs.com/devi1/p/13486456.html
Copyright © 2011-2022 走看看