![如何在linux中使用基于windows的android模拟器avd数据?](https://linux22.com/image/173875/%E5%A6%82%E4%BD%95%E5%9C%A8linux%E4%B8%AD%E4%BD%BF%E7%94%A8%E5%9F%BA%E4%BA%8Ewindows%E7%9A%84android%E6%A8%A1%E6%8B%9F%E5%99%A8avd%E6%95%B0%E6%8D%AE%EF%BC%9F.png)
我的机器之前运行的是 Windows 10,然后我决定再次切换回 Arch Linux。在安装 Arch Linux 之前,我备份了隐藏的 Android 目录,其中包含 AVD 数据目录,该目录位于:
C:\Users\Khalid\.android
切换到Arch后,我在上面安装了android模拟器,并将android模拟器所需的所有环境变量添加到.bashrc中,这些是定义的环境变量:
export EXTERNAL_DRIVE=/run/media/user12/EXTERN_DRIVE/Android
export ANDROID_HOME=/opt/android-sdk
export ANDROID_EMULATOR=$ANDROID_HOME/emulator
export ANDROID_EMULATOR_HOME=$EXTERNAL_DRIVE/.android/
export ANDROID_AVD_HOME=$ANDROID_EMULATOR_HOME/avd/
export ANDROID_TOOLS=$ANDROID_HOME/cmdline-tools/tools
export ANDROID_CMDLINE_TOOLS=$ANDROID_HOME/cmdline-tools/tools/bin
export ANDROID_PLATFORMS=$EXTERNAL_DRIVE/android-sdk/platforms
export ANDROID_PLATFORM_TOOLS=$ANDROID_HOME/platforms
之后,我通过执行以下命令列出了可用的 avd:
avdmanager list avd
但我收到一个错误:
The following Android Virtual Devices could not be loaded:
Name: Nexus_5X_API_26_Google_Play
Path: /run/media/user12/EXTERN_DRIVE/Android/.android/avd/Nexus_5X_API_26_Google_Play.ini
Error: Corrupted AVD ini file: /run/media/user12/EXTERN_DRIVE/Android/.android/avd/Nexus_5X_API_26_Google_Play.ini
---------
Name: Nexus_5_API_23_Marshmallow
Path: /run/media/user12/EXTERN_DRIVE/Android/.android/avd/Nexus_5_API_23_Marshmallow.ini
Error: Corrupted AVD ini file: /run/media/user12/EXTERN_DRIVE/Android/.android/avd/Nexus_5_API_23_Marshmallow.ini
我还尝试看看我是否要通过执行以下操作来模拟机器:
emulator -avd Nexus_5X_API_26_Google_Play
但我收到以下错误:
PANIC: Cannot find AVD system path. Please define ANDROID_SDK_ROOT
谁能告诉我这可能出了什么问题或者为什么我会收到此错误?
答案1
我认为你应该使用导入而不是导出。您也可以使用已经运行的 Android studio 来完成此操作,因为它提供从 GUI 界面导入和导出图像的功能。你可以参考这里
https://developer.android.com/studio/run/managing-avds#importexporthp
https://developer.android.com/studio/run/managing-avds#selecthardwarepage