Android AOSP基础(一)VirtualBox 安装 Ubuntu

刘望舒
• 阅读 2132
  • AOSP基础
  • Android框架层

本文首发于微信公众号「刘望舒」

前言

在Android进阶三部曲第二部《Android进阶解密》的第一章,我介绍了两种阅读源码的方式,其中一种是从百度网盘:https://pan.baidu.com/s/1ngsZs 将源码下载下来,然后用SouceInsight来查看,这种方式很便捷,适合去阅读源码,但是有两个弊端,一个是无法获取最新的源码,另一个是不能够编译源码。本系列就是来讲解下载和编译源码相关知识的。编译源码需要在 Linux 环境下进行,很多同学的系统不是Ubuntu,但是可以在Windows和Mac上使用VirtualBox 来安装 Ubuntu,这篇文章会讲解Windows10环境下的安装过程,Mac环境也是大同小异。另外Windows 10下也可以在Microsoft Store中下载Ubuntu软件,可以去尝试下。

准备工作

需要下载两个文件:

  1. VirtualBox:下载地址为:https://www.virtualbox.org/wiki/Downloads,我的版本为VirtualBox 6.0.4。
  2. Ubuntu桌面版:下载地址为:https://www.ubuntu.com/download/desktop,我的版本为Ubuntu 18.04.2 LTS 。

VirtualBox的安装过程很简单,一路下一步就可以了。

VirtualBox安装Ubuntu

1.点击VirtualBox新建按钮,新建虚拟电脑。 Android AOSP基础(一)VirtualBox 安装 Ubuntu 可能在版本选项没有64位的选项,这时需要进入BIOS,开启CPU虚拟化。不同的主板进入的方式不同(具体请自行百度),比如我的是惠普台式机,在开机时连续按F10就会进入BIOS,在安全->系统安全性->虚拟化技术选项设置启用即可。如果还是没有64位的选项请查看这篇文章:https://blog.csdn.net/tai532439904/article/details/78527889

2.设置分配给虚拟电脑的内存,这个版本的建议内存为1G,可以根据自己电脑配置来决定,建议最少分配4G。 Android AOSP基础(一)VirtualBox 安装 Ubuntu

3.创建虚拟硬盘的大小,一路点击下一步就可以了。 Android AOSP基础(一)VirtualBox 安装 Ubuntu Android AOSP基础(一)VirtualBox 安装 Ubuntu Android AOSP基础(一)VirtualBox 安装 Ubuntu

4.虽然建议虚拟硬盘的大小为10G,但是如果要进行Android源码编译,则需要更大的硬盘空间,建议最少分200GB,我这里分200GB。 Android AOSP基础(一)VirtualBox 安装 Ubuntu

5.选择 Ubuntu,点击启动。

Android AOSP基础(一)VirtualBox 安装 Ubuntu

6.选择已经下载的 Ubuntu 镜像,点击启动。 Android AOSP基础(一)VirtualBox 安装 Ubuntu

7. 选择系统的语言,安装 Ubuntu。 Android AOSP基础(一)VirtualBox 安装 Ubuntu

8. 下面按照步骤走就可以了。 Android AOSP基础(一)VirtualBox 安装 Ubuntu Android AOSP基础(一)VirtualBox 安装 Ubuntu Android AOSP基础(一)VirtualBox 安装 Ubuntu

9. 填入姓名、密码,点击继续: Android AOSP基础(一)VirtualBox 安装 Ubuntu

10. 开始安装Ubuntu,安装完成点击现在重启就可以了。 Android AOSP基础(一)VirtualBox 安装 Ubuntu Android AOSP基础(一)VirtualBox 安装 Ubuntu

安装增强工具

安装增强工具的目的主要有两个:

  1. 实现虚拟机(Ubuntu)和主机(Windows)的文件共享。
  2. 可以使用全屏模式。

1.配置Ubuntu 在用户界面中打开屏幕顶部显示。 Android AOSP基础(一)VirtualBox 安装 Ubuntu

新建一个共享文件夹,勾选自动挂载和固定分配。 Android AOSP基础(一)VirtualBox 安装 Ubuntu

在模拟器屏幕顶部选择设备-> 安装增强功能,会在桌面生成一个VBox_GAs_6.0.4的盘符,接着进行配置。

2.安装增强工具

先安装gcc和perl库:

sudo apt-get install gcc perl make

在桌面或者Ubuntu的主文件中进入VBox_GAs_6.0.4目录,点击运行软件,安装增强工具。 Android AOSP基础(一)VirtualBox 安装 Ubuntu

有如下的提示就说明安装成功了,重启虚拟机。 Android AOSP基础(一)VirtualBox 安装 Ubuntu

这时在桌面会生成一个盘符,通过它就可以和主机进行文件共享了。 Android AOSP基础(一)VirtualBox 安装 Ubuntu 除了安装增强工具,还有一个功能非常常用,在设置-->常规-->高级里的共享粘贴板和拖放选择双向,使得虚拟机和主机的交互更加简单。

后记

这可能是我写过的最简单的文章了,确实没啥可写的,但是还是有人需要的,下一篇我们来学习如何下载AOSP源码。

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Stella981 Stella981
2年前
Android So动态加载 优雅实现与原理分析
背景:漫品Android客户端集成适配转换功能(基于目标识别(So库35M)和人脸识别库(5M)),导致apk体积50M左右,为优化客户端体验,决定实现So文件动态加载.!(https://oscimg.oschina.net/oscnet/00d1ff90e4b34869664fef59e3ec3fdd20b.png)点击上方“蓝字”关注我
Wesley13 Wesley13
2年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
2年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
2年前
Docker 部署SpringBoot项目不香吗?
  公众号改版后文章乱序推荐,希望你可以点击上方“Java进阶架构师”,点击右上角,将我们设为★“星标”!这样才不会错过每日进阶架构文章呀。  !(http://dingyue.ws.126.net/2020/0920/b00fbfc7j00qgy5xy002kd200qo00hsg00it00cj.jpg)  2
Stella981 Stella981
2年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
2个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这