【问题标题】:How to set system images (path?) when creating an Android AVD?创建 Android AVD 时如何设置系统映像(路径?)?
【发布时间】:2017-09-02 16:02:02
【问题描述】:

我正在尝试在 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]

我的问题是我不知道要为这个选项添加什么,并且在网上找不到任何好的参考资料。显然我已经安装了系统映像:

但是我如何引用这些?我根据示例对其进行了尝试,但出现此错误:

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)

有什么建议吗?

【问题讨论】:

    标签: android cordova sdk


    【解决方案1】:

    注意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
    

    【讨论】:

    • <yourinstallationpath>/Android/Sdk/tools/bin运行上述命令
    • @jabu.hlong 如果您在环境变量中设置了正确的 PATH(至少在 Windows 上),则不需要。如果一个人像普通人一样经常使用 CLI 工具,那么绝对应该将其添加到路径列表中。
    • 就我而言,我遇到了一个问题,因为我在 Windows 上使用了单引号而不是双引号。
    【解决方案2】:

    消息

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

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

    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。

    我希望这会有所帮助。

    【讨论】:

      【解决方案3】:

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

      $ 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
      

      【讨论】:

      • 先安装系统镜像!这让我更近了一步。
      【解决方案4】:

      你必须用分号放置包路径。

      一个有效路径的例子是

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

      并输入您需要的所有其他选项。

      【讨论】:

        【解决方案5】:

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

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

        【讨论】:

          【解决方案6】:

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

          先决条件:

          参见 nvm 上的 brew、python3 和 NodeJS 参见 gist 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)
          

          快乐的代码!

          【讨论】:

            猜你喜欢
            • 2023-03-17
            • 1970-01-01
            • 2016-06-25
            • 1970-01-01
            • 2016-01-18
            • 1970-01-01
            • 2011-01-27
            • 2023-02-20
            • 1970-01-01
            相关资源
            最近更新 更多