如何在创建Android AVD时设置系统映像(路径?)?

时间:2017-04-07 10:01:14

标签: android cordova sdk

我试图在Linux上使用Android创建AVD。当我在Cordova项目文件夹中运行android create avd时,收到此消息:

  -k --package : Package path of the system image for this AVD (e.g.
                 'system-images;android-19;google_apis;x86'). [required]

我的问题是我不知道该选项要添加什么,并且无法在线找到任何好的参考资料。显然我安装了系统映像:

enter image description here

但我如何参考这些?我根据示例对它进行了尝试,我得到了这个错误:

david@david-Virtual-Machine:~/projects/test-test$ android create avd --package "system-images;android-25;google-apis;x86" --name "foo"
*************************************************************************
The "android" command is deprecated.
For manual SDK, AVD, and project management, please use Android Studio.
For command-line tools, use tools/bin/sdkmanager and tools/bin/avdmanager
*************************************************************************
Running //home/david/Android/Sdk/tools/bin/avdmanager create avd --package system-images;android-25;google-apis;x86 --name foo

Error: Package path is not valid. Valid system image paths are:

(在我的平台文件夹中,列出的唯一平台是android-25)

有什么建议吗?

6 个答案:

答案 0 :(得分:82)

注意android 已弃用。使用avdmanager

首先,您需要下载必要的软件包。 下载x86模拟器的API 23包的示例:

 ./sdkmanager "system-images;android-23;google_apis;x86"

然后接受许可协议

 ./sdkmanager --licenses

然后创建您的模拟器

./avdmanager create avd -n test -k "system-images;android-23;google_apis;x86" -b x86 -c 100M -d 7 -f

答案 1 :(得分:15)

消息

  

错误:程序包路径无效。有效的系统映像路径是:

表示无法找到包裹 - 我打赌平台没有正确安装..为了解决这个问题,您可以尝试使用以下命令进行安装:

android update sdk -u --filter platform-tools,android-25
sdkmanager --verbose "system-images;android-25;google_apis;x86"

然后使用avdmanager -v create avd -n x86 -k "system-images;android-25;google_apis;x86" -g "google_apis"创建avd。

我希望这会有所帮助。

答案 2 :(得分:6)

您还可以使用以下方式列出已安装和可用的软件包:

$ sdkmanager --list

要安装系统映像,请使用以下命令:

$ sdkmanager  "system-images;android-25;google_apis;x86_64"

然后如上所述创建avd:

$ ./avdmanager create avd -n test -k "system-images;android-25;google_apis;x86_64" -b x86 -c 100M -d 7 -f

答案 3 :(得分:1)

您必须使用分号放置包路径。

有效路径的示例是

avdmanager create avd -k“system-images; android-16; google_apis; x86”

并提供您需要的所有其他选项。

答案 4 :(得分:0)

正如建议所说,android命令已被弃用。您需要使用avdmanager并指定可用包上显示的确切字符串作为包参数。在你的情况下:

avdmanager create avd --package "android-25" --name "foo"

答案 5 :(得分:0)

考虑到 SDK 安装在 /Users/<your_user>/Library/Android/sdk 文件夹下,该文件夹是 Android Studio 首选的 SDK 位置,但它在 /usr/local/share/android-sdk 下也能正常工作,该位置主要用于 CI。

先决条件:

参见 nvm 上的 brew、python3 和 NodeJS 参见要点 https://gist.github.com/agrcrobles/3d945b165871c355b6f169c317958e3e

Java 14

<块引用>

Open JDK 14 适用于 gradle 6.x

首选:安装 JDK 8 ( LTS ) 采用OpenJDK:

# brew tap adoptopenjdk/openjdk via cask

brew install adoptopenjdk/openjdk/adoptopenjdk8

SDK 首选位置

sdk 可以安装在 /Library/Android/sdk 或 /usr/local/ 上以确保通过

which sdkmanager

导出 ANDROID_HOME

export ANDROID_HOME=$HOME/Library/Android/sdk

export ANDROID_HOME="/usr/local/share/android-sdk"

安装所有 Android SDK 组件(系统会提示您同意许可信息,然后这将需要一段时间才能运行):

如果您需要首先在 PATH 运行中安装 openjdk:

echo 'export PATH="/usr/local/opt/openjdk/bin:$PATH"' >> ~/.zshrc

## android-29
touch ~/.android/repositories.cfg
yes | sdkmanager --licenses
sdkmanager --update
sdkmanager --no_https --install emulator
sdkmanager --no_https --install platform-tools
sdkmanager --no_https --install 'system-images;android-29;google_apis_playstore;x86_64'
sdkmanager --no_https --install 'extras;intel;Hardware_Accelerated_Execution_Manager'
sdkmanager --no_https --install 'build-tools;29.0.2'
sdkmanager --no_https --install 'platforms;android-29'
sdkmanager --list

avdmanager list (find device skin id, lets use pixel 17)
avdmanager create avd -f -n test -d 17 -k 'system-images;android-29;google_apis_playstore;x86_64'
avdmanager list avd (or emulator -list-avds)

快乐代码!!