当前位置: 首页 > news >正文

ubuntu编译 aosp for x86, windows avd启动 aosp-qemu镜像

编译aosp

给出编译脚本

10:38:36 test@server:~/workspace/shell/build $ cat build_emulater.sh 
#!/bin/bashcd /home/suhui/workspace/aosp/x86_emulater/
source build/envsetup.sh
lunch sdk_phone_x86_64-userdebug
make -j128
10:38:39 test@server:~/workspace/shell/build $ 

启动 aosp镜像

  1. android studio新建一个avd, 然后可以通过 as启动此 avd
  2. 替换avd的相关镜像
    包含如下文件
lucas@I-PC-054085 MINGW64 /f/avd/compile
$ dir
VerifiedBootParams.textproto  encryptionkey.img  system.img      vendor.img
advancedFeatures.ini          kernel-ranchu      system_ext.img
build.prop                    ramdisk.img        userdata.img
lucas@I-PC-054085 MINGW64 /f/avd/compile
$

其中 build.prop 在编译结果目录的 system/build.prop 下
编译结果在 如下目录

x86_emulater\out\target\product\emulator_x86_64

windows上需要替换的镜像目录是

C:\Users\lucas\AppData\Local\Android\Sdk\system-images\android-31\google_apis\x86_64

  1. 命令行启动 avd

emulator.exe -avd Pixel_6_Pro -writable-system

单独编译 framework

make framework-minus-apex -j128

push脚本 如下

adb remount
adb push  Z:\aosp\x86_emulater\out\target\product\emulator_x86_64\system\framework\framework.jar /system/framework/
adb push  Z:\aosp\x86_emulater\out\target\product\emulator_x86_64\system\framework\x86_64 /system/framework/adb shell rm /system/framework/oat/* -rf
adb shell rm /system/framework/x86/* -rf
adb shell rm /system/framework/x86_64/* -rfadb shell stop; start
timeout 100

不开机问题 参考 https://blog.csdn.net/superlee1125/article/details/115491698

as 导入 frameworks

https://blog.csdn.net/learnframework/article/details/141384068

执行以下四条命令:
“. build/envsetup.sh” (source可以用 .代替,即". build/envsetup.sh")
“lunch sdk_phone_x86_64-userdebug”,并选择要编译的项目
“make idegen -j32” (这里的 -j4表示用 4线程来编译,可以不加)
“development/tools/idegen/idegen.sh” (报错find: ‘out/target/product/generic_x86_64/root/d’: Permission denied没有关系不影响ipr和iml文件

然后在 根目录下有相关工程文件

12:17:27 test@server:~/workspace/aosp/x86_emulater $ find . -name android.iml
./android.iml
./development/tools/idegen/templates/android.iml
12:18:20 test@server:~/workspace/aosp/x86_emulater $ find . -name android.ipr
./development/tools/idegen/templates/android.ipr
./android.ipr
12:18:29 test@server:~/workspace/aosp/x86_emulater $ 

参考 千里马 https://blog.csdn.net/learnframework/article/details/141384068
配置文件 iml参考如下, 只需要很小
https://blog.csdn.net/xxdw1992/article/details/121075976

可能需要加载 一两个小时

as 调试 framework

直接就可以调试了

http://www.lqws.cn/news/595657.html

相关文章:

  • PADS使用记录2
  • android14 默认关闭或开启数据流量
  • Ubuntu机器开启root用户远程登录
  • FastGPT与MCP:解锁AI新时代的技术密码
  • Spring Boot - 参数校验:分组校验、自定义注解、嵌套对象全解析
  • 【CVPR2024】计算机视觉|EGTR : Transformer中挖掘关系图,场景图生成SOTA!
  • 141.在 Vue 3 中使用 OpenLayers Link 交互:把地图中心点 / 缩放级别 / 旋转角度实时写进 URL,并同步解析显示
  • 利用springEvent,进行服务内部领域事件处理
  • 使用 icinga2 写入 TDengine
  • 用lines_gauss的width属性提取缺陷
  • C++ 11 中 condition_variable 的探索与实践
  • python 调用C/C++动态库
  • Apache HTTP Server部署全攻略
  • 用于快速训练收敛的 Conditional DETR
  • 基于.Net的Web API 控制器及方法相关注解属性
  • 数字ic后端设计从入门到精通10(含fusion compiler, tcl教学)静态时序分析
  • 3D 商品展示与 AR 试戴能为珠宝行业带来一些便利?
  • 什么是测试用例?它的核心要素有哪些?
  • docker desktop部署本地gitlab服务
  • 【仿muduo库实现并发服务器】Connection模块
  • 【仿muduo库实现并发服务器】Acceptor模块
  • 笔记/计算机网络
  • ChatGPT使用限额记录与插件统计
  • Softhub软件下载站实战开发(九):编写软件配置管理界面
  • Electron 应用打包与分发:从开发到交付的完整指南
  • Call、Apply、Bind详解
  • 如何进行Edge版本回退及禁用更新
  • 结构光相机:重塑工业自动化的“智慧之眼”,驱动智能制造新未来
  • 深度剖析:基于AOP、自定义注解与设计模式构建高度可定制的分布式锁解决方案
  • 亚马逊云科技中国峰会:数新智能CTO原攀峰详解一站式AI原生数智平台DataCyber在Amazon EKS的实践