您的位置:首页 > 移动开发 > Android开发

基于Ubuntu20.04编译android-10.0.0_r39源码

2020-07-14 06:19 1951 查看

文章目录

  • 编译
  • 启动emulator
  • 依赖安装

    下面下载的操作请大家参看我的另一篇文章《基于ubuntu20.04使用国内镜像下载android-10.0.0_r39源码

    sudo apt-get install -y bison build-essential ccache curl dpkg-dev flex g++-multilib gcc-multilib
    sudo apt-get install -y gnupg gperf lib32ncurses5-dev lib32z-dev libc6-dev-i386 libesd0-dev libgl1-mesa-dev
    sudo apt-get install -y libncurses5-dev:i386 libreadline6-dev:i386 libsdl1.2-dev libx11-dev libx11-dev:i386
    sudo apt-get install -y libxml2-utils m4 tofrodos unzip x11proto-core-dev
    sudo apt-get install -y xsltproc zip zlib1g-dev zlib1g-dev:i386

    一般安装

    libesd0-dev
    时会出现问题,其解决办法如下

    解决办法:
    sudo vim /etc/apt/sources.list //在行尾添加如下两行的内容
    deb http://us.archive.ubuntu.com/ubuntu/ xenial main universe
    deb-src http://us.archive.ubuntu.com/ubuntu/ xenial main universe
    更新软件源并重新安装:
    sudo apt-get update && sudo apt-get install libesd0-dev

    看网上有很多编译依赖项安装,里面与一些重复包,这里一并剔除了……

    代码下载完成后,并安装了相关依赖项,下面就开始编译吧,不过编译的时间有点长,需耐心等待啊。

    编译error

    在编译的过程中,我碰到了一个错误

    [error 01] java.lang.OutOfMemoryError

    其解决方法,就是调整java的heap空间,我是在

    build/core/main.mk
    文件中加入语句

    export _JAVA_OPTIONS="-Xmx8g"  #增加heap到8G

    编译

    下面的编译就是固定步骤了,先进入代码目录执行如下指令:

    source build/envsetup.sh
    lunch
    #当然也可以直接使用,lunch 24, 即aosp_x86_64项目
    make -j4

    编译完成后,会出现如下类似打印,这就说明编译完成了。

    #### build completed successfully (02:34:50 (hh:mm:ss)) ####

    启动emulator

    编译完成后,先进入代码目录,执行如下

    source build/envsetup.sh
    lunch aosp_x86_64  #也就是我们上面编译的项目
    emulator
    内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
    标签: