Linux系统的安装和Android编译环境的配置
Linux系统的安装和Android编译环境的配置
- 亲测Android8.1-Android10.0可用
- 电脑硬件配置
- 安装Linux系统
- 配置Android编译环境
- 常见编译报错
亲测Android8.1-Android10.0可用
网上有很多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硬盘
安装Linux系统
步骤一
首先制作一个安装系统的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 //更新挂载
配置Android编译环境
依次执行下面命令安装:
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以上,只需要编译后根据报错信息安装相应包即可。
欢迎留言交流讨论!
Linux系统的安装和Android编译环境的配置相关推荐
- Ubuntu下Android编译环境的配置
从安装操作系统到编译程序结束,过程大致如下. 1. Ubuntu Linux操作系统安装软件包. 使用 Ubuntu 14.04 Desktop系统. 安装Linux系统到VMWare虚拟机上. ...
- 在linux下怎么安装mysql,手把手教你在Linux系统下安装MySQL
在CentOS中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB. 1. 下载并安装MySQL官方的 Yum R ...
- ubuntu12.10安装android编译环境
很久没写博客了,今天写一个经验篇 以ubuntu12.10 64bit为例, 一.以root用户登录 启动root帐号: $sudo passwd root #根据提示输入roott帐号密码. $su ...
- dragon编译linux,在Linux系统中安装Alibaba Dragonwell8的方法
本文介绍在Linux系统中安装Alibaba Dragonwell8的方法,包括更新方法.它是阿里巴巴自己的JDK,是OpenJDK的下游版本,完全开源.以下在Ubuntu 18.04上经过了测试,也 ...
- linux系统 安卓系统安装教程,Linux系统下安装android sdk的方法步骤
本文阐述的是如何在Linux系统中安装Android SDK 环境,下面话不多说,来看看详细的介绍吧. 直接下载解压: wget http://dl.google.com/android/androi ...
- Q106:Linux系统下安装编译PBRT-V3
106.0 引入 本人之前尝试过在windows系统中编译pbrt-v3,但是出现了很多错误.pbrt-v3的源代码中部分Linux的函数没有用宏包好,而是直接使用,所以在windows环境下就报错了 ...
- vm虚拟机下linux安装python_VM中安装linux系统,安装VS Code,搭建Python环境
VM中安装linux系统 在linux系统中安装VSCode(Visual Studio Code) 1.从官网下载安装包 2.在下载目录打开终端安装 sudo dpkg -i code_1.32.3 ...
- windows配置gitlab秘钥并测试_你了解多少Linux系统GitLab安装与环境配置?
Linux系统GitLab安装与环境配置 注意:虚拟机的内存至少2G以上 一. 从GitLab官网获取安装方法和步骤: https://about.gitlab.com/installation/#c ...
- linux mint卸载桌面环境,在Ubuntu系统中安装最新Cinnamon桌面环境,包括启用及卸载...
Cinnamon 桌面环境通常默认装载在 Linux Mint 版本中,它是一个传统而优雅的桌面环境,本文将为你介绍在 Ubuntu 下安装最新 Cinnamon 桌面环境的方法,包括启用及卸载方法, ...
最新文章
- 数据库在EF中创建模型
- python实现简单的api接口-对Python实现简单的API接口实例讲解
- 【Qt教程】4.1 - Qt5 文件系统 QFile文件读写操作
- Office远程代码执行漏洞CVE-2017-8570 大部分版本受影响 PoC已经公开
- SPIR-V*:面向 OpenCL™ 工作负载的英特尔® 显卡编译器默认接口
- kali之beef的使用
- OpenWrt-路由器上的linux
- java中黑点是什么意思_[Java教程]input输入密码变黑点密文
- lol哪个服务器有无限乱斗,英雄联盟无限乱斗和无限火力有什么区别 2021无限乱斗开放时间表[多图]...
- Shiro(三) Shiro核心原理分析
- BFS模版题----水缸灌水(c++)
- 时区(Timezone)一览表
- 11.0_[Java 继承]-继承/重写/抽象类/抽象方法/ final 修饰符
- 如何使用字体图标——icomoon使用详细介绍
- 3d旋转图片制作HTML,js css3制作3D旋转图片切换代码
- SpringMVC处理请求的流程
- 腾讯公司副总裁王巨宏:腾讯互联网+教育做好连接和内容两件事
- AMS1117 sot-223 稳压芯片的dxp库
- php表单页面防重复提交方法总结
- 记录bug | 网络重置后,只剩下以太网无wifi怎么办
热门文章
- 拍摄或者录制视频遇到断电死机该怎么办
- Java中List集合去重的几种方式
- 三星UT-Exynos4412开发板10.1寸LVDS高清液晶屏
- 《FreeSWITCH: VoIP实战》: 一个在FreeSWITCH中外呼的Lua脚本
- LINUX系统更改系统时区
- python 构造函数 __init__()方法的理解
- 升级glibc2.27
- C++获取当前系统时间
- Firefox伪造请求头
- 荣耀 Magic 5、荣耀 Magic 5 Pro和荣耀 Magic 5至臻版区别