Status Update
Comments
ch...@gmail.com <ch...@gmail.com> #2
1. setting JAVA_OPTS=JAVA_OPTS=-XX:+IgnoreUnrecognizedVMOptions --add-modules
2. verify I am using JDK 8 (I have tried in a VM: JDK 8u241, JDK 8u202 (last BCL), Amazon Corretto 8.242.08.1)
3. verify that the class com.android.sdklib.tool.sdkmanager.SdkManagerCli exists (in tools\lib\sdklib\libsdkmanager_lib.jar)
The issue is that the CLASSPATH is not setup correctly to be able to find the sdkmanager dependencies. In the SDK Tools version of sdkmanager.bat, all the required jar files were specified in the sdkmanager.bat file:
set CLASSPATH=%APP_HOME%\lib\dvlib-26.0.0-dev.jar;%APP_HOME%\lib\jimfs-1.1.jar;%APP_HOME%\lib\jsr305-1.3.9.jar;%APP_HOME%\lib\repository-26.0.0-dev.jar;%APP_HOME%\lib\j2objc-annotations-1.1.jar;%APP_HOME%\lib\layoutlib-api-26.0.0-dev.jar;%APP_HOME%\lib\gson-2.3.jar;%APP_HOME%\lib\httpcore-4.2.5.jar;%APP_HOME%\lib\commons-logging-1.1.1.jar;%APP_HOME%\lib\commons-compress-1.12.jar;%APP_HOME%\lib\annotations-26.0.0-dev.jar;%APP_HOME%\lib\error_prone_annotations-2.0.18.jar;%APP_HOME%\lib\animal-sniffer-annotations-1.14.jar;%APP_HOME%\lib\httpclient-4.2.6.jar;%APP_HOME%\lib\commons-codec-1.6.jar;%APP_HOME%\lib\common-26.0.0-dev.jar;%APP_HOME%\lib\kxml2-2.3.0.jar;%APP_HOME%\lib\httpmime-4.1.jar;%APP_HOME%\lib\annotations-12.0.jar;%APP_HOME%\lib\sdklib-26.0.0-dev.jar;%APP_HOME%\lib\guava-22.0.jar
In the newer command-line tools build, the sdkmanager.bat has a much simpler definition of CLASSPATH
set CLASSPATH=%APP_HOME%\lib\/sdkmanager-classpath.jar
I am still trying to figure out how this is supposed to work. sdkmanager-classpath.jar is in tools\lib\_\sdkmanager-classpath.jar. This jar file only contains a META-INF/MANIFEST.MF file with the following contents:
Class-Path:
sdklib/libsdkmanager_lib.jar
sdklib/sdklib.jar
annotations/libannotations.jar
common/common.jar
external/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar
external/com/google/errorprone/error_prone_annotations/2.3.1/error_prone_annotations-2.3.1.jar
external/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar
external/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar
external/com/google/j2objc/j2objc-annotations/1.1/j2objc-annotations-1.1.jar
external/org/checkerframework/checker-qual/2.5.5/checker-qual-2.5.5.jar
external/org/codehaus/mojo/animal-sniffer-annotations/1.17/animal-sniffer-annotations-1.17.jar
external/com/google/guava/guava/27.1-jre/guava-27.1-jre.jar
external/kotlin-plugin-ij/Kotlin/kotlinc/lib/kotlin-stdlib.jar
device_validator/dvlib.jar
layoutlib-api/layoutlib-api.jar
external/net/sf/kxml/kxml2/2.3.0/kxml2-2.3.0.jar
external/org/jetbrains/annotations/13.0/annotations-13.0.jar
repository/repository.jar
external/com/google/jimfs/jimfs/1.1/jimfs-1.1.jar
external/org/apache/commons/commons-compress/1.12/commons-compress-1.12.jar
external/com/sun/istack/istack-commons-runtime/3.0.7/istack-commons-runtime-3.0.7.jar
external/com/sun/xml/fastinfoset/FastInfoset/1.2.15/FastInfoset-1.2.15.jar
external/javax/activation/javax.activation-api/1.2.0/javax.activation-api-1.2.0.jar
external/javax/xml/bind/jaxb-api/2.3.1/jaxb-api-2.3.1.jar
external/org/glassfish/jaxb/txw2/2.3.1/txw2-2.3.1.jar
external/org/jvnet/staxex/stax-ex/1.8/stax-ex-1.8.jar
external/org/glassfish/jaxb/jaxb-runtime/2.3.1/jaxb-runtime-2.3.1.jar
external/com/google/code/gson/gson/2.8.5/gson-2.8.5.jar
external/commons-logging/commons-logging/1.2/commons-logging-1.2.jar
external/commons-codec/commons-codec/1.10/commons-codec-1.10.jar
external/org/apache/httpcomponents/httpcore/4.4.10/httpcore-4.4.10.jar
external/org/apache/httpcomponents/httpclient/4.5.6/httpclient-4.5.6.jar
in sdkmanager-bat, java is executed with -classpath "%CLASSPATH%" but this is not working.
If I simulate was as being done in the old SDK tools version of the file and include all these jar files in the sdkmanager.bat like this:
set APP_LIB=%APP_HOME%\lib
set CLASSPATH=%APP_LIB%\sdklib/libsdkmanager_lib.jar;%APP_LIB%\sdklib/sdklib.jar;%APP_LIB%\annotations/libannotations.jar;%APP_LIB%\common/common.jar;%APP_LIB%\external/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar;%APP_LIB%\external/com/google/errorprone/error_prone_annotations/2.3.1/error_prone_annotations-2.3.1.jar;%APP_LIB%\external/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar;%APP_LIB%\external/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar;%APP_LIB%\external/com/google/j2objc/j2objc-annotations/1.1/j2objc-annotations-1.1.jar;%APP_LIB%\external/org/checkerframework/checker-qual/2.5.5/checker-qual-2.5.5.jar;%APP_LIB%\external/org/codehaus/mojo/animal-sniffer-annotations/1.17/animal-sniffer-annotations-1.17.jar;%APP_LIB%\external/com/google/guava/guava/27.1-jre/guava-27.1-jre.jar;%APP_LIB%\external/kotlin-plugin-ij/Kotlin/kotlinc/lib/kotlin-stdlib.jar;%APP_LIB%\device_validator/dvlib.jar;%APP_LIB%\layoutlib-api/layoutlib-api.jar;%APP_LIB%\external/net/sf/kxml/kxml2/2.3.0/kxml2-2.3.0.jar;%APP_LIB%\external/org/jetbrains/annotations/13.0/annotations-13.0.jar;%APP_LIB%\repository/repository.jar;%APP_LIB%\external/com/google/jimfs/jimfs/1.1/jimfs-1.1.jar;%APP_LIB%\external/org/apache/commons/commons-compress/1.12/commons-compress-1.12.jar;%APP_LIB%\external/com/sun/istack/istack-commons-runtime/3.0.7/istack-commons-runtime-3.0.7.jar;%APP_LIB%\external/com/sun/xml/fastinfoset/FastInfoset/1.2.15/FastInfoset-1.2.15.jar;%APP_LIB%\external/javax/activation/javax.activation-api/1.2.0/javax.activation-api-1.2.0.jar;%APP_LIB%\external/javax/xml/bind/jaxb-api/2.3.1/jaxb-api-2.3.1.jar;%APP_LIB%\external/org/glassfish/jaxb/txw2/2.3.1/txw2-2.3.1.jar;%APP_LIB%\external/org/jvnet/staxex/stax-ex/1.8/stax-ex-1.8.jar;%APP_LIB%\external/org/glassfish/jaxb/jaxb-runtime/2.3.1/jaxb-runtime-2.3.1.jar;%APP_LIB%\external/com/google/code/gson/gson/2.8.5/gson-2.8.5.jar;%APP_LIB%\external/commons-logging/commons-logging/1.2/commons-logging-1.2.jar;%APP_LIB%\external/commons-codec/commons-codec/1.10/commons-codec-1.10.jar;%APP_LIB%\external/org/apache/httpcomponents/httpcore/4.4.10/httpcore-4.4.10.jar;%APP_LIB%\external/org/apache/httpcomponents/httpclient/4.5.6/httpclient-4.5.6.jar
Then sdkmanager.bat finds the correct startup class.
If I don't specify --sdk_root=<the_root>, then I get this exception:
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)
If I specify --sdk_root=<the_root>, then it works correctly (again with the hacked CLASSPATH).
So .... what is wrong with this line and what is it supposed to do?
set CLASSPATH=%APP_HOME%\lib\/sdkmanager-classpath.jar
FYI, this is being reported in several different placed. Here is one.
Could someone from Google respond to this issue?
ch...@gmail.com <ch...@gmail.com> #3
do...@gmail.com <do...@gmail.com> #4
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)
If I add the parameter sdkmanager --sdk_root=%ANDROID_HOME% --list the error stops
My ANDROID_HOME are already set correctly but I can't execute with out this parameter --sdk_root
uc...@google.com <uc...@google.com>
tr...@gmail.com <tr...@gmail.com> #5
Same issue on osx with the latest update possibly breaking many consumers CI pipelines. Can we request this is elevated to P1? This is most certainly "In Prod" as well.
additionally sources are not open or at least readily searchable?
Info dump from my environment:
➜ ~ which sdkmanager
~/Library/Android/sdk/cmdline-tools/latest/tools/bin/sdkmanager
➜ ~ sdkmanager --sdk_root=$ANDROID_SDK_ROOT --version
4.0.0
➜ ~ # 'Installed packages:' section of output has three pipes so grep with that detail to isolate cmdline-tools
➜ ~ sdkmanager --sdk_root=$ANDROID_SDK_ROOT --list | grep -E "^\s*cmdline-tools(.*?\|){3}.*?$"
cmdline-tools;latest | 2.0 | Android SDK Command-line Tools (latest) | cmdline-tools/latest/
➜ ~ sdkmanager --verbose --list
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: [...]
➜ ~ java -version
openjdk version "1.8.0_232"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_232-b09)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.232-b09, mixed mode)
➜ ~ neofetch
'c. tjones@not_important.local
,xNMM. -----------------------------
.OMMMMo OS: macOS Catalina 10.15.5 19F96 x86_64
OMMM0, Host: MacBookPro15,1
.;loddo:' loolloddol;. Kernel: 19.5.0
cKMMMMMMMMMMNWMMMMMMMMMM0: Uptime: 3 hours, 30 mins
.KMMMMMMMMMMMMMMMMMMMMMMMWd. Packages: 103 (brew)
XMMMMMMMMMMMMMMMMMMMMMMMX. Shell: zsh 5.7.1
;MMMMMMMMMMMMMMMMMMMMMMMM: Resolution: 1680x1050@2x
:MMMMMMMMMMMMMMMMMMMMMMMM: DE: Aqua
.MMMMMMMMMMMMMMMMMMMMMMMMX. WM: Quartz Compositor
kMMMMMMMMMMMMMMMMMMMMMMMMWd. WM Theme: Blue (Dark)
.XMMMMMMMMMMMMMMMMMMMMMMMMMMk Terminal: iTerm2
.XMMMMMMMMMMMMMMMMMMMMMMMMK. Terminal Font: not_important
kMMMMMMMMMMMMMMMMMMMMMMd CPU: Intel i7-9750H (12) @ 2.60GHz
;KMMMMMMMWXXWMMMMMMMk. GPU: Intel UHD Graphics 630, Radeon Pro 560X
.cooc,. .,coo:. Memory: 13958MiB / 32768MiB
tr...@gmail.com <tr...@gmail.com> #6
I just tried going from latest
to 2.0
due to a warning presented by avdmanager
the warning is roughly the same as what latest
provided.
➜ ~ avdmanager --verbose list avd
Warning: Observed package id 'cmdline-tools;2.0' in inconsistent location '~/Library/Android/sdk/cmdline-tools/2.0' (Expected '~/Library/Android/sdk/cmdline-tools/cmdline-tools/2.0')
possibly related to this issue in sdkmanager?
tr...@gmail.com <tr...@gmail.com> #7
working around the sdkmanager verbosity for now:
# from ~/.zshrc
alias sdkmanager="sdkmanager --sdk_root=$ANDROID_SDK_ROOT"
avdmanager completely fails due to path issues which are obviously not matching where sdkmanager is putting things.
➜ ~ sdkmanager --install "system-images;android-29;google_apis;x86_64"
[=======================================] 100% Computing updates...
➜ ~ avdmanager create avd --name "a29_gapis" --package "system-images;android-29;google_apis;x86_64"
Warning: Observed package id 'cmdline-tools;latest' in inconsistent location '~/Library/Android/sdk/cmdline-tools/latest' (Expected '~/Library/Android/sdk/cmdline-tools/cmdline-tools/latest')
Error: Package path is not valid. Valid system image paths are:ository...
null
tr...@gmail.com <tr...@gmail.com> #8
It seems the issues seen are all easily fixed by a quick move command:
cd $ANDROID_SDK_ROOT/cmdline-tools/latest
mv tools/* .
I realized the difference in layout when comparing the 1.0 and 2.0 directory layouts.
rp...@google.com <rp...@google.com> #9
jb...@google.com <jb...@google.com> #10
I can also look into cherrypicking the fixes back to 2.0 for a 2.1 release, but I'm not sure how feasible that will be.
Description
I am trying to install android sdk .We are using ionic to develop the app with angular.
I have downloaded the commandlinetools-win-6200805_latest.zip for Windows .We are using Windows 10 machine.
Added ANDROID_HOME and tools PATH variables.
However on running sdkmanager.bat to install Buid tools and Platform tools ,the GUI does not come up to select the desired packages.
While trying to run the sdkmanager.bat from Command prompt the below error comes
"Error: Could not find or load main class com.android.sdklib.tool.sdkmanager.SdkManagerCli"
Please help to resolve the issue so that we can install the required sdk packaged and proceed with development.
Thank you,
Regards
IMPORTANT: Please read
all required information.
(NDK bugs should be filed at
instead.)