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

SDKmanager:警告:无法创建设置。IllegalArgumentException

濮阳原
2023-03-14

我试图在我的Ubuntu上安装androidSDK,但当我试图在tools/bin/sdkmanager文件夹上运行SDK管理器时,我得到以下消息:

我的Ubuntu是最近安装的,除了Java8和Android Studio之外什么都没有。

我的SDK文件夹是默认的~/android/SDK。

java.lang.IllegalArgumentException
    at com.android.sdklib.tool.sdkmanager.SdkManagerCliSettings.<init>(SdkManagerCliSettings.java:428)
    at com.android.sdklib.tool.sdkmanager.SdkManagerCliSettings.createSettings(SdkManagerCliSettings.java:152)
    at com.android.sdklib.tool.sdkmanager.SdkManagerCliSettings.createSettings(SdkManagerCliSettings.java:134)
    at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:57)
    at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:48)
Usage:
  sdkmanager [--uninstall] [<common args>] [--package_file=<file>] [<packages>...]
  sdkmanager --update [<common args>]
  sdkmanager --list [<common args>]
  sdkmanager --licenses [<common args>]
  sdkmanager --version

With --install (optional), installs or updates packages.
    By default, the listed packages are installed or (if already installed)
    updated to the latest version.
With --uninstall, uninstall the listed packages.

    <package> is a sdk-style path (e.g. "build-tools;23.0.0" or
             "platforms;android-23").
    <package-file> is a text file where each line is a sdk-style path
                   of a package to install or uninstall.
    Multiple --package_file arguments may be specified in combination
    with explicit paths.

With --update, all installed packages are updated to the latest version.

With --list, all installed and available packages are printed out.

With --licenses, show and offer the option to accept licenses for all
     available packages that have not already been accepted.

With --version, prints the current version of sdkmanager.

Common Arguments:
    --sdk_root=<sdkRootPath>: Use the specified SDK root instead of the SDK
                              containing this tool

    --channel=<channelId>: Include packages in channels up to <channelId>.
                           Common channels are:
                           0 (Stable), 1 (Beta), 2 (Dev), and 3 (Canary).

    --include_obsolete: With --list, show obsolete packages in the
                        package listing. With --update, update obsolete
                        packages as well as non-obsolete.

    --no_https: Force all connections to use http rather than https.

    --proxy=<http | socks>: Connect via a proxy of the given type.

    --proxy_host=<IP or DNS address>: IP or DNS address of the proxy to use.

    --proxy_port=<port #>: Proxy port to connect to.

    --verbose: Enable verbose output.

* If the env var REPO_OS_OVERRIDE is set to "windows",
  "macosx", or "linux", packages will be downloaded for that OS. ```

共有1个答案

辛渝
2023-03-14

在摆弄了一下控制台之后,我想我发现了正在发生的事情。显然,在SDK定位SDK安装文件夹的方式中有一个bug。

所以我所需要做的就是在用export ANDROID_HOME=~/android/sdk导出路径之后,使用--sdk_root=${ANDROID_HOME}来指定它

所以完整的命令是yes~/android/sdk/tools/bin/sdkmanager--sdk_root=${ANDROID_HOME}--version

从另一篇文章中获得了解决方案:Android命令行工具sdkmanager总是显示:警告:无法创建设置

 类似资料:
  • 我使用android的新命令行工具是因为android的旧sdk-tools存储库不再可用了。所以我更改了gitlab-ci来加载CommandLinTools。但当我尝试运行它时,却出现以下错误: 我已经试过用手执行那些命令,但我得到了同样的错误。此外,如果运行,也会出现相同的错误。我的gitlab-ci看起来像:

  • 我正在将payUmoney与我的应用程序集成。对于9以上的android,默认情况下ClearTextTrafficAllowed=“false”。所以我得到了以下错误- 所以在network_secrity_config.xml我把它改成true如下 现在Android Studio的节目 现在将其设置为false安全吗?如果我不把它设为false。薪水不起作用。那么现在该怎么办呢?

  • 我试图在Windows 8上打开Groovy Shell(),得到了以下输出: 打印上述消息后,shell按预期启动。

  • 问题内容: 我尝试groovysh在Windows 8上打开Groovy Shell(),并得到以下输出: 打印完上述消息后,外壳程序按预期方式启动。 问题答案: 我想以更详细的方式来解释该解决方案(对于Windows用户): 进入“开始”菜单,然后输入regedit搜索字段。 导航到路径HKEY_LOCAL_MACHINE\Software\JavaSoft(10的Windows似乎现在有这样的

  • 我想用替换大于任意数字(本例中为100)的

  • 我试过很多次了,但什么也没有。 这是类的代码,它应该设置警报,但在指定的时间和日期没有发生任何事情。