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镜像
- android studio新建一个avd, 然后可以通过 as启动此 avd
- 替换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
- 命令行启动 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
直接就可以调试了