首先感谢:
Atomic_space分享的编译过程记录:
链接:win10最新下载编译Android源码的简易方法分享(已亲测)_windows 下载编译 android源码-优快云博客
本人按照这个顺序,成功下载和编译了Android10源码,在此过程中,有一些不同之处,本文进行一些说明。
过程中:
1.(7~10)下载和安装Ubuntu 20.04可以直接使用命令行,更方便。
先安装wsl
wsl --install
会显示很多Ubuntu的版本
使用wsl下载安装Ubuntu
wsl --install -d <Ubuntu-20.04>
2.在拉取android10源码的时候,git命令不起作用。
repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b android-10.0.0_r1
repo sync -j12
请使用:
repo运行
1、mkdir ~/bin
2、PATH=~/bin:$PATH
3、git clone https://gerrit-googlesource.lug.ustc.edu.cn/git-repo
4、cd git-repo/
5、cp repo ~/bin/
6、chmod a+x ~/bin/repo
7、mkdir workspace
8、cd workspace/
* 注意将workspace替换为你本地新建的路径,在此之后再执行上面的两句命令。
3.在编译的时候,尽量不要太多线程,我本地使用:make -j4
编译中:报错
1.缺少一些工具,比如:unzip、gedit、Jdk,报错:
/bin/bash: unzip: command not found
解决办法:用命令安装即可,网上搜一下
安装gedit
sudo apt-get install gedit
安装java
java -version
sudo apt install openjdk-11-jre-headless
2.make: *** [build/make/core/main.mk:21: run_soong_ui] Error 1 exit status 137
解决办法:
# 将现有swap移动到主内存,可能需要几分钟
sudo swapoff -a
# 创建新的swap文件,bs×count=最后生成的swap大小,我本地设置32G
sudo dd if=/dev/zero of=/swapfile bs=1G count=32
# 设置权限
sudo chmod 0600 /swapfile
# 设置swap
sudo mkswap /swapfile
# 打开swap
sudo swapon /swapfile
# 检查设置是否有效
grep Swap /proc/meminfo # 或者htop看一下
# 设置永久有效,这里会提示安装gedit,其实后面才知道用nano命令也可以
sudo gedit /etc/fstab
# 在弹出的页面末尾行加上
/swapfile swap swap sw 0 0
3.Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
java虚拟机内存不足
解决办法:
a.临时调整
declare -x _JAVA_OPTIONS="-Xmx4096m"
declare -x JACK_SERVER_VM_ARGUMENTS="-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx4096m"
b.设置java虚拟机环境变量堆大小,永久保存
nano ~/.bashrc
export _JAVA_OPTIONS="-Xmx4096m"
source ~/.bashrc
4./usr/bin/python: bad interpreter: No such file or directory
编译到最后,如果你本地安装的python是3.x版本,还需要安装2.x版本。在mk_combined_img.py这个文件里,要引用2.x版本。
解决办法:
sudo apt update
sudo apt install python2-minimal
sudo gedit device/generic/goldfish/tools/mk_combined_img.py
头部文件路径 修改成python2
以上
共同学习