无法在Linux上使用命令行工具运行android仿真器(PANIC:损坏的AVD系统路径。)

丹尼尔·杜德克(Daniel Dudek):

我正在尝试设置Jenkins从属机器以进行android项目的UI测试。当遇到尝试运行android模拟器的问题时,我已经没有办法继续进行操作了:

[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]!

我想念什么?

android文件夹中的重复项/var/lib/android/android/system-images/(...)看起来不正确,但是我不知道它来自何处。我认为应该是/var/lib/android/system-images/(...)

细节:

之前我已经以这种方式完成了android sdk的完整设置

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

我已经使用安装了软件包 sdkmanager --sdk_root=${ANDROID_HOME} "<package>"

当前的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

我的.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

这些SDK路径存在:

/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发行版

丹尼尔·杜德克(Daniel Dudek):

我可以通过修复文件中image.sysdir.1条目来运行模拟器/.android/avd/<avd_name>.avd/config.ini

我在以下问题中找到了此技巧:PANIC: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).

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

无法从命令行启动android仿真器

如何解决'仿真器:PANIC:找不到AVD系统路径。请定义ANDROID_SDK_ROOT'

使用命令行启动avd之后更改Android模拟器http代理

在Linux上使用命令行检查PDF文件是否已损坏

启动AVD AVD PANIC的仿真器:无法打开:AVD-Ubuntu 13.10

如何使用命令行工具在 Ambari / Zeplin 上运行 sql 查询?

节点:ShellJS无法使用命令行工具

Android仿真器未启动,显示“无效的命令行参数”

如何使用Google Play服务创建API-15仿真器(命令行)

在Linux中的特定CPU上运行进程?(不能使用命令行指定)

如何在Linux服务器上使用命令行下载Dropbox目录或文件

WSL:如何从WSL上的linux系统的命令行在Windows上运行浏览器

使用命令行linux安装android sdk

使用命令行工具列出当前类路径中的可用类

可能由于路径错误,无法在Windows上安装IntelliJ的Android仿真器

Mac上的通用命令行取消存档工具

无法在 NPM 命令行(Windows)上运行该命令以使用图像选择器

Android仿真器未在Android Studio 3.0上运行

Jenkins尝试启动工具/仿真器而不是仿真器/仿真器(Android仿真器插件)

在需要登录的 Linux VM 中使用命令行工具下载文件

如何仅使用命令行工具在Linux中将DjVu文档转换为PDF?

如何使用命令行在Android Studio外部安装android约束布局工具?

Android的Linux内核可以通过终端中的命令行运行/仿真吗?

使用命令行工具下載 Excel 文件

使用命令行工具从GitHub获取源文件?

使用命令行工具删除结尾的JSON逗号

如何使用命令行在 Windows 上查找 JRE 路径

如何使用命令行工具安装所有 Android SDK 许可证?

如何从命令行在Ubuntu Linux上打开AVD管理器?