安卓9.0刷linux,Ubuntu系统下编译Android 9.0系统

66b52468c121889b900d4956032f1009.png

8种机械键盘轴体对比

本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?

前言

在Ubuntu系统下编译Android系统。哎呀不知道是不是换了新电脑的缘故,这次编译居然从安装JDK和配置环境下载源码他喵的一次成功了,想之前真的是那台破电脑一堆问题最后好不容易才成功,不知道是不是跟我这台电脑配置的关系以及内存还有安装ubuntu的时候那几个分区的大小有没有关系。几乎每个分区的大小都是推荐大小的好几倍,尤其是那个交换空间分区不知道是不是。记录一下编译的过程。

安装JDK

编译Android系统需要JDK,可以在命令行安装:1sudo apt install openjdk-8-jdk

没有换源,一次成功,有的时候因为墙的原因可能会安装不了可以换阿里的源。

下载源码

下载源码是用的清华的镜像,以下几个步骤:

下载 repo 工具:1

2

3

4mkdir ~/bin

PATH=~/bin:$PATH

curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo > ~/bin/repo

chmod a+x ~/bin/repo

建立工作目录:1

2mkdir android_9.0_r3

cd android_9.0_r3

安装python:1sudo apt-get install python

初始化仓库:1repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest

如果需要某个特定的 Android 版本(列表):1repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android_9.0_r3

同步源码树(以后只需执行这条命令来同步):1repo sync

编译源码

在AOSP的根目录,输入如下的命令:1source build/envsetup.sh

选择编译目标:1lunch

lunch命令是envsetup.sh里定义的一个命令,用来让用户选择编译目标。

会有以下信息输出:1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55You're building on Linux

Lunch menu... pick a combo:

1. aosp_arm-eng

2. aosp_arm64-eng

3. aosp_mips-eng

4. aosp_mips64-eng

5. aosp_x86-eng

6. aosp_x86_64-eng

7. aosp_car_arm-userdebug

8. aosp_car_arm64-userdebug

9. aosp_car_x86-userdebug

10. aosp_car_x86_64-userdebug

11. mini_emulator_arm64-userdebug

12. m_e_arm-userdebug

13. m_e_mips64-eng

14. m_e_mips-userdebug

15. mini_emulator_x86_64-userdebug

16. mini_emulator_x86-userdebug

17. uml-userdebug

18. aosp_cf_x86_auto-userdebug

19. aosp_cf_x86_phone-userdebug

20. aosp_cf_x86_tablet-userdebug

21. aosp_cf_x86_tablet_3g-userdebug

22. aosp_cf_x86_tv-userdebug

23. aosp_cf_x86_wear-userdebug

24. aosp_cf_x86_64_auto-userdebug

25. aosp_cf_x86_64_phone-userdebug

26. aosp_cf_x86_64_tablet-userdebug

27. aosp_cf_x86_64_tablet_3g-userdebug

28. aosp_cf_x86_64_tv-userdebug

29. aosp_cf_x86_64_wear-userdebug

30. cf_x86_auto-userdebug

31. cf_x86_phone-userdebug

32. cf_x86_tablet-userdebug

33. cf_x86_tablet_3g-userdebug

34. cf_x86_tv-userdebug

35. cf_x86_wear-userdebug

36. cf_x86_64_auto-userdebug

37. cf_x86_64_phone-userdebug

38. cf_x86_64_tablet-userdebug

39. cf_x86_64_tablet_3g-userdebug

40. cf_x86_64_tv-userdebug

41. cf_x86_64_wear-userdebug

42. aosp_marlin-userdebug

43. aosp_marlin_svelte-userdebug

44. aosp_sailfish-userdebug

45. aosp_walleye-userdebug

46. aosp_walleye_test-userdebug

47. aosp_taimen-userdebug

48. hikey-userdebug

49. hikey64_only-userdebug

50. hikey960-userdebug

Which would you like? [aosp_arm-eng]

选择42,按回车。这可以安装到pixel设备(之前的nexus也是)

编译的几种不同的类型:user:用来正式发布到市场的版本,权限受限,如没有 root 权限,不能 dedug,adb默认处于停用状态。

userdebug:在user版本的基础上开放了 root 权限和 debug 权限,adb默认处于启用状态。一般用于调试真机。

eng:开发工程师的版本,拥有最大的权限(root等),具有额外调试工具的开发配置。一般用于模拟器。

开始编译:1make -j16

编译好后的状态,会有一个out文件夹,因为只有nexus 6p没有pixel手机了,所以没有刷进手机,想来跟nexus刷这些镜像文件没什么大的区别吧。

![](/picture/2019-03-15 23-52-10.png)

一个小时两分钟编译好,想之前用笔记本用了半天还不止。。。

编译后产生的文件:system.img:系统镜像,里面包含了Android系统主要的目录和文件,通过init.c进行解析并mount挂载到/system目录下。

userdata.img:用户镜像,是Android系统中存放用户数据的,通过init.c进行解析并mount挂载到/data目录下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>