编译rk3399板子android10系统(ubuntu22.4)

  1. 前提条件
    编译主机内存至少 12G,交换内存 10G(swapfile),磁盘空间 150G

  2. 解压 android10
    cat rk_android_10_sdk.tar.gz* | tar xzvf

  3. 进入解压根目录
    cd rk_android_10_sdk

  4. 切换终端
    exec bash
    注意:zsh 会有问题

  5. 安装 openjdk8

  6. 安装 python2.7
    sudo apt install python2.7

  7. 安装基础库

1
2
3
sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip libssl-dev gawk liblz4-tool

sudo apt-get install libncurses5 libncurses5:i386
  1. 执行 sh javaenv.sh

  2. 执行 source build/envsetup.sh

  3. 执行 lunch
    出现菜单中,选择 6 rk3399_Android10-userdebug

  4. 如果修改 framework,需要
    make api-stubs-docs-update-current-api

  5. 执行 ./build.sh -UKAu

常见问题

  1. GLIBCXX_3.4.21 not defined in file libstdc++.so.6 with link time reference
1
2
3
4
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-5
sudo apt-get upgrade libstdc++6