admin管理员组

文章数量:1548754

背景:

  • 苹果的m1芯片是基于arm64架构的, google为了支持苹果的机器上进行开发, 讲emulator移植到了arm64的板子上,也就给了我们机会,让我们能够比较简单的在类似树莓派的机器上面能够直接运行android的arm64的镜像。

构筑和运行过程

  1. 模拟器源代码获取和交叉编译
repo init -u https://mirrors.tuna.tsinghua.edu/git/AOSP/platform/manifest -b emu-master-dev --depth=1 
repo sync -qcj 12
cd external/qemu
pip install absl-py
pip install urlfetch
sudo apt-get install crossbuild-essential-arm64
python android/build/python/cmake.py --noqtwebengine --noshowprefixforinfo --target linux_aarch64
  1. 编译并且打包, 添加dist 目录存放编译出来的结果
python android/build/python/cmake.py --noqtwebengine --noshowprefixforinfo --target linux_aarch64 --dist dist
# 解压dist下的包含emualtor的程序
cd dist
unzip  sdk-repo-linux_aarch64-emulator-None.zip
  1. 设定android emualtor和android sdk的位置
export ANDROID_SDK_ROOT=${avd所在的根目录}
export ANDROID_HOME=${sdk 的根目录吗, 根目录下包含了platforms。platform-tools, system-images}
  1. 运行emualtor
./emulator @Pixel_5_API_28 -no-window -verbose -show-kernel

启动起来的log如下:

参考链接:

https://gist.github/Try-Parser/b7106d941cc9b1c9e7b4c7443a7c3540

存在的问题

  1. 使用的tf卡的性能比较差, 运行的是有会有大量的iowait, 使用的体验不怎么好,可以使用好一点的tf卡试试。
  2. 构筑的环境使用的是ubuntu20.04 使用的库会有glibc 2.18的依赖,所以运行的环境需要有glibc2.18以上,才能进行运行。

本文标签: 模拟器派上android