注册 X
提交 注:点击提交后系统会发送邮件到邮箱验证!(仅支持中国大陆邮箱)
我已阅读并同意 服务条款
首页 > IT技术笔记 > 查看笔记

安卓源码编译

1、安装ubuntu

2、安装依赖包

        
        
      

3、进入源码根目录,并执行如下命令进行初始化

        
        
      

4、执行lunch命令查看编译的版本

查看输出可选择的设备版本

        
        
      

我这里选择aosp_x86_64-eng

        
        
      

5、执行如下命令编译:NU make可以通过-jN参数来处理并发任务,N建议为电脑线程数的1到2倍。编译时间视电脑配置而定,我的渣渣电脑编了4个小时(ㄒoㄒ),编完会在源码根目录生成out文件夹,里面有我们生成的镜像文件。

        
        
      

如果我们只想编译某个模块,也可以单独编译,就不用编译整个系统

一:编译 framework 部分

1、只编译 frameworks/base 如果你只想编译 frameworks/base(即 Android Framework 层的基础部分),你可以直接进入该目录并执行编译命令。Android 编译系统基于 make,可以通过以下命令来编译特定的模块:

        
        
      

这个命令会编译 frameworks/base 模块。frameworks/base 是 Android Framework 的核心部分,包括核心库、系统服务等。

2、如果需要编译其他与框架相关的模块,可以通过指定模块名称来进行编译。例如:

        
        
      

这将仅编译与 WiFi 相关的框架模块。

减少并行任务(适用于低内存环境) 如果你正在使用 4GB 内存的计算机,可能会遇到内存不足的问题。为了减少内存使用,可以通过限制并行任务的数量来进行编译:

        
        
      

这里的 -j2参数表示最多同时启动两个任务,你可以根据自己的计算机配置调整这个数值。

二:清理和重新编译(如果需要)

1、清理编译结果, 如果在某个步骤中遇到问题,或者想重新开始编译,可以先清理之前的编译结果:

        
        
      

这将删除所有先前的编译输出。

2、重新编译, 在清理之后,你可以重新编译特定的模块:

        
        
      

三:验证编译结果

编译完成后,生成的 frameworks/base将位于 out/target/product/device/system/framework/目录下。可以通过查看该目录来确认编译结果是否成功生成。

四:编译过程中遇到的问题:

1、内存溢出的错误

        
        
      

执行以下命令增加内存:

        
        
      

2、找不到python的报错

        
        
      

输入whereis python,查询Python路径

        
        
      

检查输出结果是否包含phthon并找到phthon2的版本,比如我的输出有/usr/local/bin/python、/usr/bin/python3.8,可以使用/usr/local/bin/python --version查看python版本。如果找到phthon2,则执行如下命令(命令中python版本按实际情况修改)。如果输出结果不包含python ,请自行先安装python。

        
        
      


 打赏        分享



评论

邮箱: 昵称: