Ubuntu 16.04 LTS 编译 Android 7.1

Ubuntu 16.04/18.03 LTS 编译 Android 7.1

最近被迫要搭一个android源码的编译环境,目标系统源码是RK3399,android 7.1.2。首先装了Ubuntu18 LTS,发现很多环境都要自己安装,包括gcc,Java,Python,make等。然后看了一下Ubuntu 16.0.4,发现大部分都是系统自带的,所以果断选择Ubuntu 16.0.4 LTS,特此记录一下。

设备环境

HP笔记本:i7 8核+16G+1T硬盘
目标android系统:RK3399 Android 7.1.2(厂商给的一份系统源码)

主要环境

  1. 系统: Ubuntu 16.0.4,U盘安装即可(不要双系统或者单独安装)
  2. gcc/g++: 5.4.0 (系统自带,不用自己安装)
  3. python: 2.7.12 (系统自带,不用自己安装)
  4. GUN make: 4.1 (系统自带,不用自己安装)
  5. OpenJDK 8: sudo apt-get install openjdk-8-jdk (可以添加到环境变量)
  6. git: apt-get install git (实际安装版本为2.7.4)

其它:

// google文档 ubuntu 14.02 需要安装的工具
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 libgl1-mesa-dev libxml2-utils xsltproc unzip

添加Java环境变量(安装的时候已经添加,不用手动操作)

sudo vim /etc/profile

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export JRE_HOME=${JAVA_HOME}/jre 
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib 
export PATH=${JAVA_HOME}/bin:$PATH

到此基本就可以编译成功了,只是有个小问题。

遇到的问题

1. fork:cannot allocate memory

按照这篇博客来就编译成功了,但是貌似重启后还是不行,可参数以生效。

补充ubuntu18环境

亲测便编译RK3399通过

install

  1. apt install openjdk-8-jre-headless
  2. apt install openjdk-8-jdk-headless
  3. apt install g+±multilib
  4. apt install gperf
  5. apt install libxml2-utils
  6. apt install curl
  7. apt install make
  8. apt install m4
  9. apt install flex
  10. apt install python

遇到的问题:
FAILED: /bin/bash -c “prebuilts/misc/linux-x86/flex/flex-2.5.39 -oout/host/linux-x86/obj/STATIC_LIBRARIES/libaidl-common_intermediates/aidl_language_l.cpp system/tools/aidl/aidl_language_l.ll” flex-2.5.39: loadlocale.c:130:_nl_intern_locale_data: ?? 'cnt
终端进入home,gedit .bashrc,在后面加一行:export LC_ALL=C

原创文章 25 获赞 12 访问量 1万+

猜你喜欢

转载自blog.csdn.net/half_bottle/article/details/99960610