编译Android源码方法(三):运行与刷机

编译成功后,你可以运行或安装生成的系统。

  • 启动模拟器:如果你编译的是模拟器版本(如 aosp_arm64-eng),编译成功后,可以直接在终端输入 emulator命令启动模拟器。
  • 刷入真机:如果编译的是真机版本,需要将设备启动到 Fastboot 模式(一般通过 adb reboot bootloader),然后使用 fastboot工具刷入编译生成的镜像文件。
cd out/target/product/<your_device_name>/
fastboot flashall -w # -w 选项会清除用户数据

高级技巧与常见问题

单独编译模块:在开发时,你一般不需要每次都编译整个系统。AOSP 提供了便捷的模块编译命令。

    • mmm <module_path>:编译指定路径下的模块(例如 mmm packages/apps/Contacts)。
    • mm:在当前目录下编译模块(需该目录下有 Android.mk或 Android.bp文件)。
    • 单独编译模块后,需要重新生成系统镜像才能生效:make snod。

清除编译输出

    • make clean:清除所有编译输出,但保留配置。
    • make clobber:更彻底的清理,会删除整个 out目录。

加速后续编译:使用 ccache缓存可以显著加快二次及后来的编译速度。

常见问题

    • 依赖缺失:仔细检查上述依赖包是否全部安装成功。错误信息一般会提示缺少哪个库。
    • Java 版本错误:确保 JAVA_HOME环境变量和默认的 java版本与你编译的 Android 版本要求一致。
    • 内存不足(Out of memory):如果内存不足,可以减少 -j后的线程数,或者增加交换空间。

编译Android源码方法(三):运行与刷机

© 版权声明

相关文章

暂无评论

none
暂无评论...