linux - 如何构建 Android system.img 并在模拟器上运行它?
问题描述
我刚刚编译了 AOSP 并将 system.img 复制到 Windows 上的 Android SDK 目录。但是模拟器无法启动虚拟设备。有谁知道为什么?
解决方案
构建 ASOP 并在模拟器上运行
构建 AVD 系统映像。这与构建 Android 设备系统映像的过程相同。例如,构建一个 x86(检查这个)
$ cd aosp-master
$source ./build/envsetup.sh
$ lunch sdk_phone_x86
$ make -j32
$ make -j32 sdk sdk_repo
$ cd ./out/host/linux-x86/sdk/sdk_phone_x86
您可以看到构建系统映像的 zip 文件,如下所示
$ ls
sdk-repo-linux-system-images-eng.[用户名].zip
提取上面的zip
您可以添加到 . ~/.bashrc 或者只是在终端上输入
$ export ANDROID_SDK=<Path_to_SDK>
$ export PATH=$ANDROID_SDK/emulator:$ANDROID_SDK/tools:$PATH
转到提取的文件夹
$ cd <extracted
sdk-repo-linux-system-images-eng.[username]>
您可以在文件夹中看到图像文件(./x86)
由 android studio 创建 AVD。转到 Android Studio-> 工具-> avd manager-> 创建虚拟设备假设我们创建了 Pixel_2_API_29
检查可用的 android 虚拟设备
$ emulator -list-avds
像素_2_API_29
然后在模拟器上运行构建 ASOP 映像
$ emulator -sysdir <Path_to_images> -avd <Created_AVD>
前任:
$emulator -sysdir <Patth_To_Extracted_Images/x86> -avd Pixel_2_API_29
推荐阅读
- python - Selenium:“WebDriver”对象没有属性“Chrome”(将桌面更改为移动设备)
- asp.net-core - signalR - 向特定用户发送消息
- node.js - 如何在 PouchDB 中使用 medeadown 作为 leveldown 的替代方法
- css - MaterialUi 全局设置 fontSize 比例
- hyperledger-fabric - CA 证书和 Fabric CA Server 中的 TLS 证书有什么区别?
- arrays - 在计算向量和的网格点时避免使用 for 循环
- ios - 是否可以使用代码切换透明模式?
- r - 图例标题位置使用拼凑?
- python - Selenium Python如何在另一个类中提取一个类?
- python - 填充输入框并在Python中选择第一个下拉值