Android源码编译原生模拟器

源代码下载

安装repo

确保主目录下有一个 bin/ 目录,并且该目录包含在路径中:

mkdir ~/bin
PATH=~/bin:$PATH

下载 Repo 工具,并确保它可执行:

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

查看分支

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

查看android支持分支版本 链接

初始化

使用 -b 来指定相应分支。

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

下载

repo sync

代码编译

命令

source build/envsetup.sh
lunch $buildType
make -j4

$buildType的选择

终端输入lunch可以看到支持的build选项

1. aosp_arm-eng
2. aosp_arm64-eng
3. aosp_blueline_car-userdebug
4. aosp_bonito_car-userdebug
5. aosp_bramble_car-userdebug
6. aosp_car_arm-userdebug
7. aosp_car_arm64-userdebug
8. aosp_car_x86-userdebug
9. aosp_car_x86_64-userdebug
10. aosp_cf_arm64_auto-userdebug
11. aosp_cf_arm64_phone-userdebug
12. aosp_cf_x86_64_foldable-userdebug
13. aosp_cf_x86_64_pc-userdebug
14. aosp_cf_x86_64_phone-userdebug
15. aosp_cf_x86_64_tv-userdebug
16. aosp_cf_x86_auto-userdebug
17. aosp_cf_x86_phone-userdebug
18. aosp_cf_x86_tv-userdebug
19. aosp_coral_car-userdebug
20. aosp_crosshatch_car-userdebug
21. aosp_flame_car-userdebug
22. aosp_redfin_car-userdebug
23. aosp_sargo_car-userdebug
24. aosp_sunfish_car-userdebug
25. aosp_trout_arm64-userdebug
26. aosp_trout_x86-userdebuaosp_car_x86_64-userdebugg
27. aosp_x86-eng
28. aosp_x86_64-eng
29. arm_krait-eng
30. arm_v7_v8-eng
31. armv8-eng
32. armv8_cortex_a55-eng
33. armv8_kryo385-eng
34. beagle_x15-userdebug
35. beagle_x15_auto-userdebug
36. car_x86_64-userdebug
37. db845c-userdebug
38. gsi_car_arm64-userdebug
39. gsi_car_x86_64-userdebug
40. hikey-userdebug
41. hikey64_only-userdebug
42. hikey960-userdebug
43. hikey960_tv-userdebug
44. hikey_tv-userdebug
45. pixel3_mainline-userdebug
46. poplar-eng
47. poplar-user
48. poplar-userdebug
49. qemu_trusty_arm64-userdebug
50. sdk_car_arm-userdebug
51. sdk_car_arm64-userdebug
52. sdk_car_x86-userdebug
53. sdk_car_x86_64-userdebug
54. silvermont-eng
55. uml-userdebug
56. yukawa-userdebug
57. yukawa_sei510-userdebug

其中以aosp_car_arm-userdebug来说明,aosp_car表示平台,arm表示平台架构,userdebug表示编译类型。

编译

make命令可以编译系统,还可以单独编译某个模块,比如

make systemimage 编译system分区镜像

make vendorimage 编译vendor分区镜像

make SystemUI 编译SystemUI

make Gallery 编译图册

make framework 编译framework框架

编译问题

参考 Android源码编译问题

运行模拟器

命令

emulator

错误

cannot add library /home/jun/data/AOSP12/prebuilts/android-emulator/linux-x86_64/qemu/linux-x86_64/lib64/vulkan/libvulkan.so: failed
added library /home/jun/data/AOSP12/prebuilts/android-emulator/linux-x86_64/lib64/vulkan/libvulkan.so
INTEL-MESA: warning: Performance support disabled, consider sysctl dev.i915.perf_stream_paranoid=0configAndStartRenderer: setting vsync to 60 hz
qemu-system-x86_64: Could not open '/home/jun/data/AOSP12/out/target/product/generic_car_x86_64/userdata-qemu.img': No such file or directory

找不到userdata-qemu.img 我们需要将编译选项切换到sdk...比如sdk_car_x86_64-userdebug

重新执行 emulator

ref

下载源代码

特定设备上运行编译系统信息

代号、标记和细分版本号

Android源码编译原生模拟器相关推荐

  1. [Android Pro] Android源码编译之Nexus5真机编译

    reference to : http://blog.csdn.net/liu1075538266/article/details/51272398 1.   前言 在Android安全的研究工作中, ...

  2. Android源码编译之Nexus5真机编译

    1.   前言 在Android安全的研究工作中,我们时常要对Android进行改进并对其进行源码编译,由于目前几乎所有的手机厂商均对其底层驱动实行封闭政策,导致我们在完成Android编译后无法将我 ...

  3. Android源码编译及启动模拟器

    Android源码编译及启动模拟器 源码下载 (1)更改下载源 (2)安装源码下载工具 (3)下载源码 (4)安装环境依赖 源码编译 启动模拟器 源码下载 Ubuntu18.0 (1)更改下载源 源码 ...

  4. Android 源码编译详解【合集篇】

    Android 源码编译详解[一]:服务器硬件配置及机型推荐 做 Android系统开发多年,开发环境都是入职就搭建好了,入职时拿个账号密码就直接开始搞开发了,年初换了新公司,所有的项目都是刚起步,一 ...

  5. Android源码编译(基于Ubuntu18.0.4)

    文章目录 一.环境搭建 硬件要求 软件要求 操作系统和 JDK 主要软件包 软件安装 Git安装 repo工具安装 安装 openJDK 8 其他依赖安装 二.源码下载 建立源码文件夹 初始化仓库 源 ...

  6. Android源码编译make的各类错误解决方案汇总

    问题: You are attempting to build with the incorrect version of java.  Your version is: java version & ...

  7. Android 源码编译及常见错误及解决方法

    Android 源码编译及常见错误及解决方法 参考文章: (1)Android 源码编译及常见错误及解决方法 (2)https://www.cnblogs.com/kyyblabla/p/360393 ...

  8. 【Android开发】构建Android源码编译环境

    原文:http://android.eoe.cn/topic/android_sdk 构建Android源码编译环境 123456789 10 11 12 13 14 15 16 17 18 $ su ...

  9. android源码编译出错的原因

    (1)gcc的版本过高,由于android源码编译要求为4.3,如果你的gcc版本为4.4,那你的编译可能会失败的!我的系统是ubuntu 10.04,默认的gcc版本为4.4,gcc-4.4太严格, ...

最新文章

  1. Ext2.0布局类初探
  2. 问题解决-Failed to resolve: com.android.support.constraint:constraint-layout:1.0.0-alpha7
  3. 新装oracle如何启动服务,Oracle数据库新装之后出现的监听程序无法正常启动和运行(Oracle-12514)问题...
  4. AI应用开发基础傻瓜书系列2-神经网络中反向传播与梯度下降的基本概念
  5. springboot项目后台启动jar 和开机启动
  6. c 自动生成mysql表结构_EntityFrameworkCore 根据实体类自动创建数据库
  7. 3-5Tensor创建编程实例
  8. MongoDB 可视化管理工具 MongoCola-1.1.0 测试版发布
  9. High Reward Low Risk Strategies
  10. amd显卡驱动linux 卸载,怎么彻底卸载AMD显卡驱动|完全卸载AMD显卡驱动步骤
  11. d3.js 旋转图形_视觉效果和动态图形软件After Effects 2019 v16.1.3.5 Win/Mac 中文/英文/多语言破解版...
  12. 一、自动化测试——Airtest+Poco快速上手
  13. 【云原生 | Kubernetes 实战】01、K8s-v1.25集群搭建和部署基于网页的 K8s 用户界面 Dashboard
  14. linux下开机自动启动,定时运行shell脚本
  15. 【C++解题报告】阿克曼(Ackmann)函数
  16. led灯串怎么摆造型_彩灯羊造型
  17. 计算机都有哪学软件是什么,8.电脑都有哪些软件,电脑软件分类大全-电脑自学网...
  18. Bottle web framework
  19. Linux入门学习(1基础操作命令)
  20. 爬虫:实现网站的全部图片抓取

热门文章

  1. Java(运用ArrayList集合)实现学生系统搜索学生信息功能
  2. 用Java批量下载人教网电子课本和教师用书
  3. 表格tr不能设置border属性
  4. Smartcard中PPS数据交换分析
  5. 初中学历的 00 后程序员,未来怎么办?
  6. 网络爬虫系列(一):chrome抓包分析
  7. 西数桌面云储存服务器,西部数据My Cloud Home——高颜值个人云存储新选择!
  8. ARP SpoofDoS攻击编程(转)
  9. 织梦网站漏洞检测工具
  10. spring boot 注解实现mock数据