Android源码的下载,编译,刷机

这篇具有很好参考价值的文章主要介绍了Android源码的下载,编译,刷机。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

上篇说到《framework开发环境搭建》,本篇继续介绍Android源码的下载、编译、刷机

先贴上Android源码官网地址:https://source.android.com/docs/setup/start/,俗称AOSP,Android开源项目,这里我总结一下具体该怎么操作。

1、安装repo

Android源码同时使用git和repo进行管理,repo是基于git的代码管理工具,类似github、gitee,所以需要同时安装git和repo

  sudo apt-get update
  sudo apt-get install repo

如果是ubuntu20.04,执行上述命令会提示无法定位repo包,那么这个时候需要手动安装repo

curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
export PATH=~/bin:$PATH

如果没有~/bin/repo目录,需要先创建一下,安装好后验证是否安装成功

repo verison

如果出现

<repo not installed>
repo launcher version 2.15
(from /usr/bin/repo)

说明安装成功了,repo安装好后可以开始下载源码了

2、下载源码

首先需要创建一个文件夹来存放源码

sudo mkdir /projects/Google-Android-Source/
sudo chmod 777 /projects/Google-Android-Source/

当然使用git还需要设置一下git全局配置

git config --global user.name "jason"
git config --global user.email "jason@163.com"

准备工作完毕,可以直接从Google仓库拉代码了,首先初始化仓库地址

repo init -u https://android.googlesource.com/platform/manifest

这里需要注意下,由于Android源码在Google服务器上,国内访问Google服务器需要VPN,所以,我们可以使用国内镜像,其中稳定的镜像地址是中国科学技术大学的镜像地址,具体可参考中科大官网的步骤,据说清华大学的镜像源也很稳定。本人使用的是公司网络,有访问Google的权限,所以就直接从Google服务器下载的。因为Android源码非常大,我下载的Android 13的源码,有88GB

Android源码的下载,编译,刷机

整个下载过程大概需要7个小时,所以建议你睡觉前开启下载,一觉醒来就下载完了。下载完成后大概是这样子的

Android源码的下载,编译,刷机

3、下载厂商驱动

下载好源码后先别着急编译,需要先去下载设备对应的驱动文件,这样刷完机之后才能正常使用,可以看官网说明

Android源码的下载,编译,刷机

根据你的设备型号下载对应的驱动即可,下载地址:https://developers.google.cn/android/drivers

我下载的是barbet Android 13

Android源码的下载,编译,刷机

下载完毕以后会得到两个tgz压缩文件,将其拷贝到源码根目录,然后然后解压,得到两个sh脚本文件

Android源码的下载,编译,刷机

执行两个sh脚本文件,会显示license信息,按D键向下翻页,最后输入I ACCPET同意条款

Android源码的下载,编译,刷机

此时驱动文件已准备就绪,下一步就可以开始编译源码了。

4、编译源码

编译前看一下Android源码目录结构

Android源码的下载,编译,刷机

关于目录结构介绍,可查看我这篇文章《Android源码目录结构介绍》,直接开始编译

第一步,准备构建脚本所需要的环境

source build/envsetup.sh

第二步,选择构建的目标版本

lunch

执行完lunch会列出所有的目标版本,总共有75个

You're building on Linux

Lunch menu .. Here are the common combinations:
     1. aosp_arm-eng
     2. aosp_arm64-eng
     3. aosp_barbet-userdebug
     4. aosp_bluejay-userdebug
     5. aosp_bramble-userdebug
     6. aosp_bramble_car-userdebug
     7. aosp_car_arm-userdebug
     8. aosp_car_arm64-userdebug
     9. aosp_car_x86-userdebug
     10. aosp_car_x86_64-userdebug
     11. aosp_cf_arm64_auto-userdebug
     12. aosp_cf_arm64_phone-userdebug
     13. aosp_cf_x86_64_auto-userdebug
     14. aosp_cf_x86_64_foldable-userdebug
     15. aosp_cf_x86_64_pc-userdebug
     16. aosp_cf_x86_64_phone-userdebug
     17. aosp_cf_x86_64_tv-userdebug
     18. aosp_cf_x86_phone-userdebug
     19. aosp_cf_x86_tv-userdebug
     20. aosp_cheetah-userdebug
     21. aosp_cloudripper-userdebug
     22. aosp_coral-userdebug
     23. aosp_coral_car-userdebug
     24. aosp_flame-userdebug
     25. aosp_flame_car-userdebug
     26. aosp_oriole-userdebug
     27. aosp_oriole_car-userdebug
     28. aosp_panther-userdebug
     29. aosp_raven-userdebug
     30. aosp_raven_car-userdebug
     31. aosp_ravenclaw-userdebug
     32. aosp_redfin-userdebug
     33. aosp_redfin_car-userdebug
     34. aosp_redfin_vf-userdebug
     35. aosp_slider-userdebug
     36. aosp_sunfish-userdebug
     37. aosp_sunfish_car-userdebug
     38. aosp_trout_arm64-userdebug
     39. aosp_trout_x86-userdebug
     40. aosp_whitefin-userdebug
     41. aosp_x86-eng
     42. aosp_x86_64-eng
     43. arm_krait-eng
     44. arm_v7_v8-eng
     45. armv8-eng
     46. armv8_cortex_a55-eng
     47. armv8_kryo385-eng
     48. beagle_x15-userdebug
     49. beagle_x15_auto-userdebug
     50. car_ui_portrait-userdebug
     51. car_x86_64-userdebug
     52. db845c-userdebug
     53. gsi_car_arm64-userdebug
     54. gsi_car_x86_64-userdebug
     55. hikey-userdebug
     56. hikey64_only-userdebug
     57. hikey960-userdebug
     58. hikey960_tv-userdebug
     59. hikey_tv-userdebug
     60. poplar-eng
     61. poplar-user
     62. poplar-userdebug
     63. qemu_trusty_arm64-userdebug
     64. rb5-userdebug
     65. sdk_car_arm-userdebug
     66. sdk_car_arm64-userdebug
     67. sdk_car_md_x86_64-userdebug
     68. sdk_car_portrait_x86_64-userdebug
     69. sdk_car_x86-userdebug
     70. sdk_car_x86_64-userdebug
     71. sdk_pc_x86_64-userdebug
     72. silvermont-eng
     73. uml-userdebug
     74. yukawa-userdebug
     75. yukawa_sei510-userdebug

不同的目标版本对应的设备也不同,因为不同的设备硬件配置也不一样,比如有的设备处理器架构是x86的,有的是arm64的,并且你也可以选择编译user/userdebug/engineer版本,具体参考官网说明:https://source.android.com/docs/setup/build/running#selecting-device-build

根据刷机设备的型号,选择对应的目标版本,这里我选择的是aosp_barbet-userdebug

最后开始编译

m -j16

-j16表示开启多少个线程来编译,这个取决于你的电脑配置,我的是八核十六线程,所以配置了最大线程数来编译,最大程度减少编译时间,当然,也可以不配置,系统将自动选择最合适的线程数。

接下来就是漫长的编译等待了

Android源码的下载,编译,刷机

Android 13的整体编译大概需要4个小时,具体时间却决于你的电脑配置,所以,现在你可以起身活动一下,或者去喝杯咖啡,陪女朋友聊聊天等等。

如果不幸编译失败,很大可能是因为编译环境没有配置齐全,具体可以参考我之前的文章《framework开发环境搭建》。

编译完成后大概是这个样子的

Android源码的下载,编译,刷机

5、烧写镜像

烧写镜像俗称刷机,就是将编译生成的镜像文件拷贝到设备中。编译生成的镜像位于out/target/product/barbet/,barbet是我选择的目标版本,查看一下该目录下都有哪些镜像

Android源码的下载,编译,刷机

可以看到里面生成的.img文件都是各个模块的镜像文件,如dtbo.img、system.img等。通过fastboot将这个镜像全部push到模块的ROM中。

使用usb线连接好设备跟主机,执行

adb devices

查看设备是否在线

Android源码的下载,编译,刷机

此时可以开始fastboot刷机了,依次执行

#进入fastboot模式
adb reboot bootloader
#将所有镜像刷入设备
fastboot flashall -w
#重启设备
fastboot reboot

刷机具体说明见官网,贴一张进入fastboot模式后的截图

Android源码的下载,编译,刷机

此时等待设备重启后就OK啦。

至此,Android 13源码下载、编译、刷机的流程就介绍完了,赶紧去试试吧。文章来源地址https://www.toymoban.com/news/detail-431027.html

到了这里,关于Android源码的下载,编译,刷机的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Android13源码下载和编译过程详解

    作为Android开发者人人都应该有一份自己Android源码,这样我们就可以随时对自己有疑惑的地方通过亲手调试来加强理解 官方推荐配置请参考:AOSP使用入门文档,重点有如下几项: 1.1.1 硬件配置要求 至少需要 250 GB 可用磁盘空间;如果要进行构建,则还需要 150 GB。如果要进行多

    2024年02月14日
    浏览(65)
  • Android AOSP源码编译——AOSP下载(一)

    一、电脑配置 Ubuntu16.04 + 16G,硬盘的大小最好大于300G (我这边是找了个win电脑装了双系统 没有使用虚拟机的方式) 二、基础环境配置 1、安装git 配置git email和name 2、安装依赖工具(需要确认的就一直y就好) 3、安装python 执行 python --version 可以看到ubuntu自带的python版本是Python 2.

    2024年02月13日
    浏览(46)
  • ubuntu编译 linphone sdk android源码下载

    2024年02月07日
    浏览(41)
  • Android Framework | AOSP源码下载及编译指南(基于Android13)

    AOSP(Android Open Source Project)是Android操作系统的开源项目,通过下载和编译AOSP源码,您可以获得原始的Android系统,并进行定制和开发。本教程将向您介绍如何下载AOSP源码并进行编译的步骤。 如何只是浏览查看AOSP源码,则没必要下载源码,可以使用google提供的Code Search工具进

    2024年01月16日
    浏览(50)
  • Rockchip平台rk3588源码下载编译(基于Android13)

    下载地址 服务器镜像下载 需要向RK申请SDK使用权限。 由于AOSP使用的repo管理源码仓库,所以为了方便开发者获取repo工具,RK也提供了repo工具的下载 本文介绍了如何使用Markdown撰写一篇关于搭建自己的repo代码服务器的文章。以下是详细的步骤和指导。 环境准备 在开始之前,

    2024年02月03日
    浏览(62)
  • 国内镜像:极速下载编译WebRTC源码(For Android/Linux/IOS)(二十四)

    简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏: Audio工程师进阶系列 【 原创干货持续更新中…… 】🚀 优质专栏: 多媒体系统工程师系列 【 原创干货持续更新中…… 】🚀 人生格言: 人生从来没有捷径

    2024年01月17日
    浏览(51)
  • 使用Google Pixel5手机调试AOSP(代码下载、编译、刷机、调试)详细攻略

    为了方便调试AOSP源码 ,花1000多大洋在pdd上买了一个99新的pixel5手机,从此终于可以在真机上调试代码了。 AOSP代码的下载在本专栏中已经有文章介绍过了,这里就不再赘述,没看过的可以去翻看之前介绍的文章。 这里想要说明的是如下下载对应手机型号的代码,比如pixel5对

    2024年02月15日
    浏览(76)
  • Repo下载、编译AOSP源码:基于Ubuntu 21.04,android-12.1.0_r27

    最近准备更新专栏文章,AOSP源码自然也需要进行更新了,但这次不是为最新的android 13, 而是取android 12的最新tag version: android-12.1.0_r27,这应该是市面上的主流版本。 每次更新,自然也会遇到问题,所以就记录一下 另外,这次我们将直接配置本地服务器,而不是通过docker,让

    2023年04月26日
    浏览(39)
  • 玩转Android10源码开发定制(二)之基于Pixel 3手机超级详细演示recovery刷机

    本节主要内容: Pixel 3通过fastboot方式刷入Android 11.0官方工厂镜像 Pixel 3通过recovery方式刷入LineageOs 18.1 Android主要刷机方式: 线刷 fastboot刷机,比如pixel 3手机刷工厂镜像的时候用的就是fastboot刷机方式。 卡刷 通过recovery刷机。比如要刷入LineageOs官方的刷机包,需要刷入twrp等recove

    2024年02月09日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包