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

Android x86 Oreo代码下载和编译

2019-03-07 16:07 1586 查看

说明
(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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: