背景介绍:
本文的撰写背景就是在一台HP Pavilion笔记本上进行Android P Automotive 环境搭建遇到的问题以及相应的解决方案,并提供一些开发环境搭建中的建议和建议的理由。
对于入门选手来说,我觉得,建议固然很重要,但是为什么这样建议似乎更重要。如果知其然不知其所以然,就会造成了开发过程中存在畏首畏脚的心理,影响开发效率。Android 开发道路曲折蜿蜒,愿读此文诸君,能在评论后写上一句干货满满,余愿足矣,当然了,我们是为了解决问题,而不是制造问题再解决问题。所以在折腾之前,保证自己有一个工作正常的Windows环境用来查询遇到的问题,问题的解决都穿插在整个环境搭建过程中:
小生的笔记本电脑:
HP Pavilion, Intel i7-7700HQ CPU
系统内存:8GB
硬盘:128G DDR && 1T机械硬盘
显卡:GeForce GTX1050
本文主要涉及以下两个方面:
Ubuntu 18.04 安装过程中碰到的问题:
Android P Automotive的软件环境搭建碰到的问题
参考链接(侵删):
NVIDIA 显卡安装
https://www.cnblogs.com/devilmaycry812839668/p/6867780.html
正文如下:
1.Ubuntu镜像从Ubuntu官网上下载,注意需要是LTS版本,Google对Android O的推荐Ubuntu版本为16.04 LTS。
----小生在16.04 LTS上测试过Android O/P/P AutoMotive 版本,18.04.2 LTS上测试过Android P Automotive。
2.校验Ubuntu镜像,保证镜像文件没有损毁,Windows - PC端校验工具可以采用好压,一次校验,多个结果。
3.采用主流的品牌U盘,使用UtralSO等软件,制作U盘启动盘。
----这里使用主流的U盘是为了让PC识别,另一方面主流U盘散热性能也好,不然可能出现Ubuntu安装到一半,系统提示复制文件异常,而导致安装失败。这个散热问题比较奇葩,特别是对一些游戏本或者老式的笔记本,也可以增加外置风扇散热,比较看运气。
4.笔记本电源上电,按下特定按键进入 BIOS,选择启动盘:选中U盘启动,开始Ubuntu安装。
----小生的笔记本是ESC按键,这个按键定义不太好,因为会和启动后的进入GRUP的按键相同,按键按下时机很重要(恶心)。
5.Ubuntu 安装过程的注意事项有两个:分区和系统显示语言
----小生的分区其实很简单因为有两个盘,就把Ubuntu安装在SSD上,主要是SSD的分区
boot分区:1G
swap分区:10G--这里的swap分区大小一直是个争议不休的问题,这个和Ubuntu的机制有关,了解不多。
/分区110G
/home:机械硬盘1T。
----Android O的整个工程编译出来的硬盘空间超过120G,Android P的硬盘空间超过140G.编译中间所需要的硬盘空间还要超过此空间大小,加上git所用的本地目录(AOSP中自带的.git目录>20G),整个工程预留空间超过150G,但我的SSD只有128G,因此采用此方案。如果读者的PC SSD足够大,那么极力推荐你将AOSP,Ubuntu都安装在SSD上,因为AOSP编译过程中,在后面的阶段主要涉及到大量的硬盘读写,使用SSD可以大量节省时间。因为Android O/P 的编译生成物主要在out目录,此目录大小>90G,可想而知整个AOSP的编译过程中需要多少的硬盘读写。
----系统显示语言强烈建议用英语,因为命令行里安装软件的时候,特别是中文目录,还得切输入法。
6.Ubuntu安装后重启
--有的Nvidia独立显卡的PC,登录账户后就卡住,这个时候需要开机的时候修改grub文件,让系统先正常启动起来解决。开机跳过BIOS(这里就解释了第四步中为什么说这个按键恶心)后按esc等按键进入grub界面,这里有的笔记本的按键不太一样,也有长按shift按键的。然后点击"e"进入grub编辑,在"quiet splash"后面添加"nomodeset",然后保存启动Ubuntu,这个时候就可以正常进入Ubuntu中。
7.进入Ubuntu中后,修改/etc/default/grub文件,同步骤6,保证每次都可以进入Ubuntu桌面;
----这时你通过Setting->Details->About可以看到PC信息中的Graphics 并不是你PC自带的NVIDIA显卡,可能是Intel的核显或者LLVM之类的信息。
8.安装NVIDIA显卡驱动:禁用nouveau && 通过ubuntu-drivers devices命令查找NVIDIA驱动
----NVIDA驱动查找的时候,也不一定就是recommended的就一定适合你的PC,反正我安装recommended的驱动并没有正常,具体步骤可以参见本文上部的参考链接。
9.增加软件源:清华大学,阿里,163等
--Android的编译环境还是大量依赖一些应用,编译一次AOSP需要2~4h,有些应用只有在使用的时候会报错,所以先添加软件源并安装相应的软件。
10.sogou输入法
sogou输入法依赖fcitx,直接在Ubuntu中搜索fcitx安装后,然后下载sogou的deb包安装,然后配置fcitx的输入法添加中文sogou即可。