Android sdkmanager - Warning: Could not create settings
Android sdkmanager - Warning: Could not create settings
October 20, 2020

This tutorial provides a solution to the error specific to Android sdkmanager - Warning: Could not create settings. This error occurs since the most recent versions of Android expect the Android SDK Tools directory within the cmdline-tools directory as shown below.

android-sdk
|----platform-tools
|----cmdline-tools
|----|----tools

Solution - Ubuntu

We must update the Android Path as shown below.

Update .bashrc file of the user account.

# Update Bash
sudo nano ~/.bashrc

# Add at the end of the .bashrc file
# Android - SDK Tools & Platform Tools export ANDROID_HOME=/data/tools/android-sdk export PATH=/data/tools/android-sdk/platform-tools:/data/tools/android-sdk/cmdline-tools/tools:/data/tools/android-sdk/cmdline-tools/tools/bin:${PATH} # sdkmanager fix for java 9 and 10 #export JAVA_OPTS='-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee'

# Save .bashrc

# Reload Bash
source ~/.bashrc

Notes: Replace the Android SDK path based on your installation directory.

Error

The complete error on Ubuntu System is shown below.

Warning: Could not create settings
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.

Summary

This tutorial provided the solution to error specific to using the sdkmanager - Warning: Could not create settings.

Write a Comment

Click on the captcha image to get new code.
Discussion Forum by DISQUS