当前位置: 首页 > 知识库问答 >
问题:

无法在Linux上使用命令行工具运行android模拟器(恐慌:AVD系统路径中断。)

金理
2023-03-14

我正在尝试为一个android项目的UI测试设置Jenkins从机。当我在运行android Emulator时遇到这个问题时,我已经没有办法继续了:

[myuser@jenkins-slave-002 emulator]$ export ANDROID_SDK_ROOT="/var/lib/android"
[myuser@jenkins-slave-002 emulator]$ ./emulator -avd pixel-2-api28 -no-window -verbose -show-kernel
emulator: Android emulator version 30.0.5.0 (build_id 6306047) (CL:N/A)
emulator: Found AVD name 'pixel-2-api28'
emulator: Found AVD target architecture: x86
emulator: argv[0]: './emulator'; program directory: '/var/lib/android/emulator'
emulator:  Not a directory: /var/lib/android/android/system-images/android-28/google_apis/x86/

PANIC: Broken AVD system path. Check your ANDROID_SDK_ROOT value [/var/lib/android]!

我错过了什么?

/var/lib/android/android/system-images/(...)中,重复的android文件夹看起来不对,但我不知道这是从哪里来的。我认为应该是/var/lib/android/system-images/(...)

详情:

/lib/var/android/ unzip commandlinetools-linux-6200805_latest.zip (taken from https://developer.android.com/studio#command-tools)

当前sdkmanager列表:

[myuser@jenkins-slave-002 bin]$ sdkmanager --sdk_root=${ANDROID_HOME} --list

Installed packages:=====================] 100% Computing updates...             
  Path                                     | Version | Description                             | Location                                 
  -------                                  | ------- | -------                                 | -------                                  
  emulator                                 | 30.0.5  | Android Emulator                        | emulator/                                
  patcher;v4                               | 1       | SDK Patch Applier v4                    | patcher/v4/                              
  platform-tools                           | 29.0.6  | Android SDK Platform-Tools              | platform-tools/                          
  platforms;android-28                     | 6       | Android SDK Platform 28                 | platforms/android-28/                    
  system-images;android-28;google_apis;x86 | 10      | Google APIs Intel x86 Atom System Image | system-images/android-28/google_apis/x86/
  tools                                    | 1.0.0   | Android SDK Tools 1                     | tools/                                   

我是这样创建avd的:

[myuser@jenkins-slave-002 bin]$ avdmanager create avd -n pixel-2-api28 --device "pixel_2" -k "system-images;android-28;google_apis;x86"

Warning: Observed package id 'emulator' in inconsistent location '/var/lib/android/emulator' (Expected '/var/lib/emulator')
Warning: Observed package id 'patcher;v4' in inconsistent location '/var/lib/android/patcher/v4' (Expected '/var/lib/patcher/v4')
Warning: Observed package id 'platform-tools' in inconsistent location '/var/lib/android/platform-tools' (Expected '/var/lib/platform-tools')
Warning: Observed package id 'platforms;android-28' in inconsistent location '/var/lib/android/platforms/android-28' (Expected '/var/lib/platforms/android-28')
Warning: Observed package id 'system-images;android-28;google_apis;x86' in inconsistent location '/var/lib/android/system-images/android-28/google_apis/x86' (Expected '/var/lib/system-images/android-28/google_apis/x86')
Warning: Observed package id 'tools' in inconsistent location '/var/lib/android/tools' (Expected '/var/lib/tools')
Auto-selecting single ABI x86===========] 100% Fetch remote repository...       
Parsing /var/lib/android/emulator/package.xmlParsing /var/lib/android/patcher/v4/package.xmlParsing /var/lib/android/platform-tools/package.xmlParsing /var/lib/android/platforms/android-28/package.xmlParsing /var/lib/android/system-images/android-28/google_apis/x86/package.xmlParsing /var/lib/android/tools/package.xml

My.bashrc包含以下内容:

export PATH="/var/lib/android/tools:$PATH"
export PATH="/var/lib/android/tools/bin:$PATH"
export ANDROID_SDK_HOME=/var/lib/android
export ANDROID_HOME=/var/lib/android
/var/lib/android/tools/bin
/var/lib/android/tools/lib
/var/lib/android/tools
/var/lib/android/.android/cache
/var/lib/android/.android/avd/pixel-2-api28.avd
/var/lib/android/.android/avd
/var/lib/android/licenses
/var/lib/android/patcher/v4
/var/lib/android/patcher
/var/lib/android/.temp
/var/lib/android/emulator/
/var/lib/android/platform-tools/
/var/lib/android/system-images/android-28
/var/lib/android/platforms/android-28

环境是运行在vmware上的CentOS 7 linux发行版

共有1个答案

欧阳安阳
2023-03-14

我能够运行模拟器,修复/.android/avd/ .avd/config.ini 文件中的image.sysdir.1条目。

我在这个问题中发现了这个提示:恐慌:中断的AVD系统路径。检查您的ANDROID_SDK_ROOT值

Go to <user_home>/.android/avd/<avd_name> and open config.ini. Find the image.sysdir.1 property. It points at the directory, inside the SDK directory, that contains the actual system image. Make sure that this directory exists and contains files like build.prop, system.img, etc. If it doesn't, then you have to open the SDK Manager and download system images your AVD requires (see below).
 类似资料:
  • 昨天我的Android Studio出了问题。我只是编程领域的新手。我在2019年11月安装了Android Studio。昨天我更新后出现了这个错误 我的个人电脑:英特尔酷睿i5 7200U,RAM 16GB,Win10,API 29,SDK 26 我应该多做些什么?我想学习更多关于Android的知识,但我不能连续第二天这样做。

  • 我使用的是Android Studio3.0和AVD 8.0(奥利奥)的系统映像(API级别26)。

  • 我正在尝试运行我的第一个离子应用程序,但我得到了这个错误,它没有找到我的手机,也没有找到模拟器运行。 ..................................................... 我已经在我的android管理器中安装了这个

  • 我使用的是Arch Linux x86_64位系统,4个内核,Intel i5处理器和4 GB RAM。 我一直试图通过执行从命令行运行Android模拟器,但我得到以下错误: 下面是该目录的内容。我试过下面的帖子: 恐慌:AVD系统路径断裂。检查您的ANDROID_SDK_ROOT值 不管用。非常感谢您的回复

  • 在terminal中键入后,我会收到以下错误: 导出前我得到: 你知道我哪里出错了吗?我确定这是sdk根,所以为什么我得到中断的avd系统路径?

  • 我正在运行最新版本的Mac OS,我想通过命令行工具运行android模拟器。我在Mac终端上运行了以下命令,得到了以下错误。 我还使用以下可用选项运行命令,这些选项也可以在官方文档developer.android.com上找到 我需要做什么,这样我就不需要每次都打开Android Studio而只打开模拟器。