Android AOSP源码编译——AOSP整编(二)

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

切换到源码目录下执行下面命令

1、初始化环境
. build/envsetup.sh
//清除缓存
make clobber
2、选择编译目标
lunch

AOSP 预制了很多 Product。这里为了简单我们先不用真机,而是选择模拟器的方式,对于 x86_64 模拟器,我们选择的是 aosp_x86_64-eng。
lunch命令回车后会让你选择编译目标,我们选31(aosp_x86_64-eng)

maoweiyi@maoweiyi-OMEN-by-HP-Laptop-15-dc0xxx:~/aosp$ lunch

You're building on Linux

Lunch menu... pick a combo:
     1. aosp_arm-eng
     2. aosp_arm64-eng
     3. aosp_barbet-userdebug
     4. aosp_blueline-userdebug
     5. aosp_blueline_car-userdebug
     6. aosp_bonito-userdebug
     7. aosp_bonito_car-userdebug
     8. aosp_bramble-userdebug
     9. aosp_car_arm-userdebug
     10. aosp_car_arm64-userdebug
     11. aosp_car_x86-userdebug
     12. aosp_car_x86_64-userdebug
     13. aosp_cf_arm64_auto-userdebug
     14. aosp_cf_arm64_phone-userdebug
     15. aosp_cf_x86_64_phone-userdebug
     16. aosp_cf_x86_auto-userdebug
     17. aosp_cf_x86_phone-userdebug
     18. aosp_cf_x86_tv-userdebug
     19. aosp_coral-userdebug
     20. aosp_coral_car-userdebug
     21. aosp_crosshatch-userdebug
     22. aosp_crosshatch_car-userdebug
     23. aosp_flame-userdebug
     24. aosp_flame_car-userdebug
     25. aosp_redfin-userdebug
     26. aosp_sargo-userdebug
     27. aosp_sunfish-userdebug
     28. aosp_trout_arm64-userdebug
     29. aosp_trout_x86-userdebug
     30. aosp_x86-eng
     31. aosp_x86_64-eng
     32. arm_krait-eng
     33. arm_v7_v8-eng
     34. armv8-eng
     35. armv8_kryo385-eng
     36. beagle_x15-userdebug
     37. beagle_x15_auto-userdebug
     38. car_x86_64-userdebug
     39. db845c-userdebug
     40. fuchsia_arm64-eng
     41. fuchsia_x86_64-eng
     42. hikey-userdebug
     43. hikey64_only-userdebug
     44. hikey960-userdebug
     45. hikey960_tv-userdebug
     46. hikey_tv-userdebug
     47. pixel3_mainline-userdebug
     48. poplar-eng
     49. poplar-user
     50. poplar-userdebug
     51. qemu_trusty_arm64-userdebug
     52. silvermont-eng
     53. uml-userdebug
     54. yukawa-userdebug
     55. yukawa_sei510-userdebug

Which would you like? [aosp_arm-eng] 31
3、编译

选择好编译目标,通过下面命令进行编译

//通过-jN 参数来设置编译的并行任务数,提高编译速度
make -j4

2000 years later~

Android AOSP源码编译——AOSP整编(二),Framework,android看到build completed successfully就代表我们构建成功了。
接下来运行模拟器

运行模拟器

emulator

因为我们是刚编译, 执行过envsetup脚本和lunch,否则需要先执行这两条命令

. build/envsetup.sh
lunch 31
emulator

备注:在启动模拟器的时候遇到了磁盘空间不足,我看了下整个AOSP文件夹占用了我200多G,其中隐藏文件.repo占用了50G,考虑了下因为是学习后期不使用repo
sync同步更新代码,所以就给删除了。

Android AOSP源码编译——AOSP整编(二),Framework,android
到这里我们的模拟器就成功运行起来了

4、修改代码运行

最后我们尝试下修改我们的Activity.java,重新编译看看有没有生效。可以通过find -name "Activity.java"命令找到我们的Activity.java

Android AOSP源码编译——AOSP整编(二),Framework,android
找到后给Activity.java的onCreate加一行日志打印。
Android AOSP源码编译——AOSP整编(二),Framework,android 修改后保存,重新编译

. build/envsetup.sh
lunch 31
make -j4

编译成功再次运行模拟器

. build/envsetup.sh
lunch 31
emulator

打开终端 通过adb shelllogcat 命令查看日志
Android AOSP源码编译——AOSP整编(二),Framework,androidadb shell 的配置可自行百度。
点击模拟器中几个app后日志结果日下
Android AOSP源码编译——AOSP整编(二),Framework,android可以看到我们修改的代码确实生效了。文章来源地址https://www.toymoban.com/news/detail-649830.html

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

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

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

相关文章

  • 0.【AOSP+Pixel 5】Android13 开发环境搭建及源码下载、编译和刷机

    本人——入行Android没多久的萌新一枚。这个系列文章主要是我客制化Android系统的一些记录。以下是我的开发环境的信息: Android 版本:13 Android 设备:Pixel 5(欧版) 操作系统:Ubuntu 20.04.5 LTS(64位) 先更新一下软件源和软件 Ubuntu 20.04 LTS已经移除Python2,默认安装python3,但是

    2024年02月14日
    浏览(56)
  • 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日
    浏览(47)
  • 《android源码阅读四》Android系统源码整编、单编并运行到虚拟机

    《安装Ubuntu系统》 《android源码下载》 进入Android源码根目录 初始化环境 清除缓存 选择编译目标 编译 这里的 -j16 是代表编译的时候的线程数,一般是CPU核心数的1~2倍,电脑配置差点,就减少。 等待编译结束,这个过程比较漫长,我的 i5-9400F CPU, 32G 内存,全固态硬盘,编译

    2023年04月25日
    浏览(42)
  • Android12 源码下载、编译、刷机、单编调试Framework

    深入学习Android系统框架开发前,首先要搭建Android工程的开发环境(建房子前先搞地基),详细的配置要求和操作步骤见官网说明 Establishing a build environment,本文也汇总了Android 12工程源码的下载、编译和刷机的实操过程。 在开始代码下载之前,先强调下源码编译对硬件/软件

    2024年02月03日
    浏览(57)
  • Android studio导入Android源码(AOSP Android 14)

    1. 完整编译AOSP源码 有些java文件是在编译过程中动态生成的,需要完整编译一遍,源码的依赖才能完整。 2. 生成IDE导入的工程文件 执行完成后,在AOSP根目录下生成文件: 3. 导入前,编辑工程文件 (这步很重要,影响代码的加载速度和跳转) 编辑android.iml文件,需要修改2部

    2024年02月10日
    浏览(43)
  • AndroidStudio导入Android AOSP源码

    编译完成后,就可以在Android源码的根目录下看到android.iml和android.ipr文件了。 打开android.iml文件看看,默认把几乎所有的源码都导入了,只有几个文件夹被排除在外,工程将会非常大,而且会很耗时间。 然而我们并不关心这么多的源码,我们可以自己加excludeFolder标签,把自己

    2024年02月01日
    浏览(98)
  • AOSP源码下载方法,解决repo sync错误:android-13.0.0_r82

    最近写文章,反复多次折腾AOSP代码,因通过网络repo sync aosp代码,能一次顺利下载的概率很低,以前就经常遇到,但从未总结,导致自己也要回头检索方法,所以觉得可以总结一下,涉及下载最新、各分支AOSP代码的方法,以及如何处理所遇到的同步错误及其解决方法,现分享

    2024年02月03日
    浏览(60)
  • android studio 使用lib中的framework.jar编译

    本文参考了网上搜索到的内容总结了一下,感谢大神们的无私奉献。 在App中的build.gradle中的android{}下添加: 此时可以编译出apk,但是android studio的代码检查还是标红的。 需要在setting - build - build tools -- gradle 选中iml  此时,在工程.idea目录下会生成../.idea/modules/app/xxx.app.main.

    2024年02月16日
    浏览(44)
  • 【Android12】Android Framework系列---Adb和PMS安装apk源码流程

    通过adb install命令可以将apk安装到Android系统(注意:特定类型的apk,比如persist类型是无法通过adb安装的) 下述命令中adb解析install命令,并调用Android PackageManagerService进行apk安装。 基于Android12,分析从adb install到 PakcageManagerService安装apk的流程。 adb install命令的源码实现 Andro

    2024年01月22日
    浏览(62)
  • 添加资源到android源码中-修改framework层

    编译带有资源的jar包,需要更改frameworks层,方法如下: 一.增加png类型的图片资源 1.将appupdate模块所有用到的png格式图片拷贝到framework/base/core/res/res/drawable-mdpi里。但是要确保没有与原生的没有重名文件。 2.在framework/base/core/res/res/values/public.xml文件里增加对这些图片的声明。

    2024年02月16日
    浏览(54)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包