网上有很多Android环境配置教程,今天把实战好几次的完整方法记录下来,分为二个部分,Linux系统安装和Android编译环境配置,现在开始吧!
A 64-bit environment is required for Gingerbread (2.3.x) and newer versions, including the master branch. You can compile older versions on 32-bit systems.
At least 100GB of free disk space for a checkout, 150GB for a single build, and 200GB or more for multiple builds. If you employ ccache, you will need even more space.
If you are running Linux in a virtual machine, you need at least 16GB of RAM/swap.
参考:https://www.cnblogs.com/sjjg/p/6088850.html
建议
8核以上CPU,运行内存16G以上,512G SSD,1T硬盘
步骤一
首先制作一个安装系统的U盘
下载镜像网址:https://www.ubuntu.com
或者:http://mirrors.aliyun.com
(注: Ubuntu14.04 可以编译Android 6.0
但是比较新的笔记本电脑,建议安装16.04,比较好装wifi驱动)
步骤二
用UltraISO 制作启动U盘
下载网站:https://cn.ultraiso.net/xiazai.html
制作教程:
https://jingyan.baidu.com/article/14bd256e907ba2bb6d2612c7.html
简单步骤:
1 文件–打开ISO文件–选择镜像
2 启动–写入硬盘映像
写入方式选择USB_HDD+,格式化 之后 写入 即可
步骤三
插入U盘,开机后一直按F12或F2进入BOIS模式后,选择USB启动,启动后按照提示步骤安装,各种情况具体分析操作。
步骤四
系统刚安装,没有设置root密码,设置root用户密码方法:
$ sudo passwd //设置密码
$ su root //切换用户
# usermod -G sudo + 用户名 //为当前用户配置sudo权限
步骤五
一般自带的软件源速度比较慢,我们可以更换成国内源,
如果电脑连接不了wifi,先连接网线,更换好国内源再处理wifi的问题
法1:操作界面
法2:命令操作
$ sudo vi /etc/apt/sources.list
把 相关 deb http://archive.ubuntu.com/ubuntu/ xenial main restricted 改为 deb http://mirrors.163.com/ubuntu/ xenial main restricted
:%s/archive.ubuntu/mirrors.163/g //vim编辑器里面操作
(注:使用命令“:%s#/usr/bin#/bin#g”可以把文件中所有路径/usr/bin换成/bin。也可以使用命令“:%s//usr/bin//bin/g”实现,其中“”是转义字符,表明其后的“/”字符是具有实际意义的字符,不是分隔符)
步骤六
到这里电脑的wifi应该是可以正常使用的,如果不行,那需要整一下,下面以宏基E5-572G电脑无法显示wifi列表为例:
首先连接网线,更改成国内源,然后查看网卡型号
$ hc@hc-Aspire-E5-572G:~$ lspci -nn |grep 0280
08:00.0 Network controller [0280]: Broadcom Inc. and subsidiaries BCM43142 802.11b/g/n [14e4:4365] (rev 01)
可以看到为Broadcom的无线网卡,那安装
$ sudo apt-get install bcmwl-kernel-source
(注: 如果出现Secure Boot 问题,可以在BIOS中关闭 安全启动(Secure Boot):
1 重启–一直按F2–进入BIOS-Boot , Secure Boot 为Enable,而且不能修改;
2 这个时候,切换到Security页面,选择Set Supervisor Password回车设置密码;
3 设置好密码后,返回Boot页面,就可以更改Secure Boot 选项了,把它修改为Disabled。
正常安装bcmwl-kernel-source,重新启动电脑,就可以看到wifi列表了!
步骤七
挂载相应的硬盘,可以使用LVM,后续出新文章介绍操作
$ sudo fdisk -l //查看硬盘的信息
$ sudo mkfs -t ext3 /dev/sda3 //格式化为ext3格式
$ sudo blkid /dev/sda3 //查看硬盘具体信息
$ sudo /etc/fstab
//按照格式添加一行 UUID=904C23B64C23964E /media/aborn/data ntfs defaults 0 2
$ mount -a //更新挂载
依次执行下面命令安装:
sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
sudo apt-get install openjdk-8-jdk
sudo apt-get install bison g++-multilib git gperf libxml2-utils make python-networkx zlib1g-dev:i386 zip
sudo apt-get install gcc
sudo apt-get install gawk
sudo apt-get install ssh
sudo apt-get install curl
sudo apt-get install bc
Android 9.0: sudo apt-get install libssl-dev
错误1
fatal error: runtime: out of memory
一般会报memory问题 ,要扩大swap分区
free -m 或者 cat /proc/meminfo
sudo mkdir /swap
sudo dd if=/dev/zero of=/swap/swapfile bs=1024 count=10485760
(10G:1024102410)20971520
创建交换文件:sudo mkswap /swap/swapfile
激活:sudo swapon /swap/swapfile
添加开机启动:sudo vim /etc/fstab
加 /swap/swapfile swap swap defaults 0 0
sudo fdisk -l 查看
重启如果失效,可以
sudo vim /etc/rc.local
添加内容:
swapon /data/swapfile
错误2
Exception in thread “main” java.lang.OutOfMemoryError: Java heap space
在终端输入下面指令加大jvm heap大小:
export JACK_SERVER_VM_ARGUMENTS="-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx8192m"
至此,可以编译Android8.1-10.0代码了!如果想编译Android11以上,只需要编译后根据报错信息安装相应包即可。
欢迎留言交流讨论!