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编译环境的配置相关推荐

  1. Ubuntu下Android编译环境的配置

    从安装操作系统到编译程序结束,过程大致如下.  1. Ubuntu Linux操作系统安装软件包. 使用 Ubuntu 14.04 Desktop系统. 安装Linux系统到VMWare虚拟机上.  ...

  2. 在linux下怎么安装mysql,手把手教你在Linux系统下安装MySQL

    在CentOS中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB. 1. 下载并安装MySQL官方的 Yum R ...

  3. ubuntu12.10安装android编译环境

    很久没写博客了,今天写一个经验篇 以ubuntu12.10 64bit为例, 一.以root用户登录 启动root帐号: $sudo passwd root #根据提示输入roott帐号密码. $su ...

  4. dragon编译linux,在Linux系统中安装Alibaba Dragonwell8的方法

    本文介绍在Linux系统中安装Alibaba Dragonwell8的方法,包括更新方法.它是阿里巴巴自己的JDK,是OpenJDK的下游版本,完全开源.以下在Ubuntu 18.04上经过了测试,也 ...

  5. linux系统 安卓系统安装教程,Linux系统下安装android sdk的方法步骤

    本文阐述的是如何在Linux系统中安装Android SDK 环境,下面话不多说,来看看详细的介绍吧. 直接下载解压: wget http://dl.google.com/android/androi ...

  6. Q106:Linux系统下安装编译PBRT-V3

    106.0 引入 本人之前尝试过在windows系统中编译pbrt-v3,但是出现了很多错误.pbrt-v3的源代码中部分Linux的函数没有用宏包好,而是直接使用,所以在windows环境下就报错了 ...

  7. vm虚拟机下linux安装python_VM中安装linux系统,安装VS Code,搭建Python环境

    VM中安装linux系统 在linux系统中安装VSCode(Visual Studio Code) 1.从官网下载安装包 2.在下载目录打开终端安装 sudo dpkg -i code_1.32.3 ...

  8. windows配置gitlab秘钥并测试_你了解多少Linux系统GitLab安装与环境配置?

    Linux系统GitLab安装与环境配置 注意:虚拟机的内存至少2G以上 一. 从GitLab官网获取安装方法和步骤: https://about.gitlab.com/installation/#c ...

  9. linux mint卸载桌面环境,在Ubuntu系统中安装最新Cinnamon桌面环境,包括启用及卸载...

    Cinnamon 桌面环境通常默认装载在 Linux Mint 版本中,它是一个传统而优雅的桌面环境,本文将为你介绍在 Ubuntu 下安装最新 Cinnamon 桌面环境的方法,包括启用及卸载方法, ...

最新文章

  1. 数据库在EF中创建模型
  2. python实现简单的api接口-对Python实现简单的API接口实例讲解
  3. 【Qt教程】4.1 - Qt5 文件系统 QFile文件读写操作
  4. Office远程代码执行漏洞CVE-2017-8570 大部分版本受影响 PoC已经公开
  5. SPIR-V*:面向 OpenCL™ 工作负载的英特尔® 显卡编译器默认接口
  6. kali之beef的使用
  7. OpenWrt-路由器上的linux
  8. java中黑点是什么意思_[Java教程]input输入密码变黑点密文
  9. lol哪个服务器有无限乱斗,英雄联盟无限乱斗和无限火力有什么区别 2021无限乱斗开放时间表[多图]...
  10. Shiro(三) Shiro核心原理分析
  11. BFS模版题----水缸灌水(c++)
  12. 时区(Timezone)一览表
  13. 11.0_[Java 继承]-继承/重写/抽象类/抽象方法/ final 修饰符
  14. 如何使用字体图标——icomoon使用详细介绍
  15. 3d旋转图片制作HTML,js css3制作3D旋转图片切换代码
  16. SpringMVC处理请求的流程
  17. 腾讯公司副总裁王巨宏:腾讯互联网+教育做好连接和内容两件事
  18. AMS1117 sot-223 稳压芯片的dxp库
  19. php表单页面防重复提交方法总结
  20. 记录bug | 网络重置后,只剩下以太网无wifi怎么办

热门文章

  1. 拍摄或者录制视频遇到断电死机该怎么办
  2. Java中List集合去重的几种方式
  3. 三星UT-Exynos4412开发板10.1寸LVDS高清液晶屏
  4. 《FreeSWITCH: VoIP实战》: 一个在FreeSWITCH中外呼的Lua脚本
  5. LINUX系统更改系统时区
  6. python 构造函数 __init__()方法的理解
  7. 升级glibc2.27
  8. C++获取当前系统时间
  9. Firefox伪造请求头
  10. 荣耀 Magic 5、荣耀 Magic 5 Pro和荣耀 Magic 5至臻版区别