Android x86 Oreo代码下载和编译
说明:
(1) 以Ubuntu16.04为模板创建虚拟机,然后下载android x86的oreo-x86版本进行编译生成ISO镜像。
(2) 硬盘配置250G,内存配置12G。(代码大致就要占用51G,内存配置为4G最后会提示内存不足无法进行编译)。
1.搭建Ubuntu虚拟机环境。
2.安装openssh-server
apt-get install openssh-server
3.设置代理
1)GIT代理设置
git config --global http.proxy http://ipAddress:Port
git config --global https.proxy https://ipAddress:Port
git config --global user.name “stone”
git config --global user.email "xxx@xx.com"
2)REPO代理设置
export http_proxy=http://ipAddress:Port
export https_proxy=https://ipAddress:Port
4.安装Git
sudo apt-get install git
5.安装Repo
mkdir ~/bin
PATH=~/bin:$PATH
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
6.安装和配置samba
1)安装samba
apt-get install samba
2)配置samba
关于Samba服务:共享“/”目录与“/root”目录
在/etc/samba/smb.conf文件中添加:
[sd]
path = /
valid users = root
browseable = yes
writeable = yes
然后执行:
smbpasswd -a root 设置用户密码
再执行:
systemctl restart smbd
7.Android X86代码下载
cd /home
mkdir android-x86
cd android-x86
mkdir oreo-x86
cd oreo-x86
repo init -u git://git.osdn.net/gitroot/android-x86/manifest -b oreo-x86
repo sync --no-tags --no-clone-bundle
8.编译环境准备
1)安装JDK
如果 Ubuntu >= 15.04
请运行以下命令:
apt-get update
apt-get install openjdk-8-jdk
2)安装所需的程序包
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 libssh-dev python-mako
3)使用单独的输出目录
export OUT_DIR_COMMON_BASE=
4)安装调试工具。
在Ubuntu上执行以下命令:
apt-get install valgrind
5)配置jdk到PATH中cd/home/toolstar−xzvfjdk−8u201−linux−x64.tar.gzPATH=PATH中
cd /home/tools
tar -xzvf jdk-8u201-linux-x64.tar.gz
PATH=PATH中cd/home/toolstar−xzvfjdk−8u201−linux−x64.tar.gzPATH=PATH:/home/tools/jdk1.8.0_201/bin:/home/tools/jdk1.8.0_201/jre/bin
9.编译Android X86镜像
cd oreo-x86
. build/envsetup.sh
lunch android_x86-eng
m -jX iso_img //X指并发数,比如1, 2
10.常见错误
1)repo init、mkdir等多个命令报没有权限
原因:Ubuntu18默认没有root账户
解决办法:Ubuntu18创建ROOT账户以及登录过程见下链接
https://www.geek-share.com/detail/2742296458.html
2)apt-get install curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?
解决办法:
强制解锁命令
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock
(见https://www.geek-share.com/detail/2686164861.html)
3)javac:command not found
根本原因:没有配置jdk
解决办法:解压jdk-8u201-linux-x64.tar.gz,并设置相关路径到
4000
系统PATH中。
https://www.geek-share.com/detail/2654340300.html
4)GC overhead limit exceeded
根本原因:内存不足
解决办法:
export JACK_SERVER_VM_ARGUMENTS="-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx12g"
./prebuilts/sdk/tools/jack-admin kill-server
./prebuilts/sdk/tools/jack-admin start-server
参考见: https://www.geek-share.com/detail/2698645102.html
5)Kernel/scripts/extract-cert.c:21:25: fatal error: openssl/bio.h: No such file or directory
根本原因:缺少依赖库ssl头文件
解决办法:apt-get install libssh-dev
6)File “external/mesa/src/compiler/nir/nir_opcodes_h.py”, line 45, in from mako.template import Template
ImportError: No module named mako.template
解决方法:apt-get install python-mako
11.参考链接
https://www.geek-share.com/detail/2742296458.html
https://www.geek-share.com/detail/2686164861.html
https://www.geek-share.com/detail/2654340300.html
https://www.geek-share.com/detail/2698645102.html
- ubuntu11.10下载并编译android4.0源代码
- Android-x86的源代码下载方法与编译过程
- android原生代码的下载编译
- github 下载代码编译不过 apply plugin: 'com.github.dcendents.android-maven'
- ubuntu 11.04 下载和编译Android代码
- Android-x86的源代码下载方法与编译过程
- ubuntu 11.04 下载和编译Android代码
- ubuntu12.04下载编译android2.3源代码
- android_framework日记2-代码下载&编译
- Ubuntu10.04下载并编译Android4.3源代码
- android系统版本代码的下载、编译及发布
- 在EeePC上运行Android!(转)(也是代码下载配置编译的流程!)
- Ubuntu10.04下载并编译Android4.3源代码
- Mac上下载编译Android 6.0源代码详细教程
- 使用ubuntu x86_64位元编译Android代码遇到的library问题(solved)
- 下载android4.0源代码和kernel及编译
- 下载android4.0源代码和kernel及编译
- Android-x86入门之--源代码的下载与编译
- github 下载代码编译不过 apply plugin: 'com.github.dcendents.android-maven'
- 下载编译chromium代码-android版本亲测60