环境:
ubantu16.04 openjdk8
latest版 报错: jdk编译版本与当前环境不兼容:
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError:
com/android/sdklib/tool/sdkmanager/SdkManagerCli
has been compiled by a more recent version of the Java Runtime
(class file version 61.0), this version of the
Java Runtime only recognizes class file versions up to 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
...
...
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:601)
参考官网:命令行工具 |安卓工作室 |Android 开发人员
网址:Ubuntu 配置AndroidSDK_mob649e81567471的技术博客_51CTO博客
Android SDK Platform tools 降级以及下载历史版本的方法-CSDN博客
cmdline-tools版本号:
cmdline-tools版本号:
cmdline-tools;1.0 | 1.0 | Android SDK Command-line Tools cmdline-tools;10.0 | 10.0 | Android SDK Command-line Tools cmdline-tools;11.0 | 11.0 | Android SDK Command-line Tools cmdline-tools;12.0 | 12.0 | Android SDK Command-line
cmdline-tools;13.0 | 13.0 | Android SDK Command-line Tools cmdline-tools;16.0 | 16.0 | Android SDK Command-line Tools cmdline-tools;16.0-alpha01 | 16.0.0 rc1 | Android SDK Command-line Tools
cmdline-tools;17.0 | 17.0 | Android SDK Command-line Tools
cmdline-tools;2.1 | 2.1 | Android SDK Command-line Tools
cmdline-tools;3.0 | 3.0 | Android SDK Command-line Tools cmdline-tools;4.0 | 4.0 | Android SDK Command-line Tools cmdline-tools;5.0 | 5.0 | Android SDK Command-line Tools
cmdline-tools;6.0 | 6.0 | Android SDK Command-line Tools cmdline-tools;7.0 | 7.0 | Android SDK Command-line Tools cmdline-tools;8.0 | 8.0 | Android SDK Command-line Tools cmdline-tools;9.0 | 9.0 | Android SDK Command-line Tools cmdline-tools;latest | 17.0 | Android SDK Command-line Tools (latest)
jdk版本号:
larry@ubuntu:~/study/AOSP8_Wkdir$ sdkmanager --version
4.0 即cmdline-tools 4.0版本可以兼容对应openjdk8
android版本号 sdk/API jdk版本号
Android 14 34 11+,支持17 应用要想在该版本下运行,targetSDK 必须>=33
Android 13 33 11+ 应用要想在该版本下运行,targetSDK 必须>=33
Android 12L 32 11+ 应用要想在该版本下运行,targetSDK 必须>=31
Android 12 31 11+ 应用要想在该版本下运行,targetSDK 必须>=31
Android 11 30 8+
Android 10 29 8+
Android 9 28 8+ Android 8.1 27 8+
Android 8.0 26 8+ Android 7.1 25 8+
Android 7.0 24 8+ Android 6 23 7+
my:
android sdk 命令行工具--非studio方式:
下载地址:
https://googledownloads.cn/android/repository/commandlinetools-linux-11076708_latest.zip
配置环境变量 vim 编辑~/.bashrc文件或者~/.profile文件
export ANDROID_HOME=~/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/tools/bin:$ANDROID_HOME/platform-tools
或者:
echo 'export ANDROID_HOME=~/Android/Sdk' >> ~/.bashrc
echo 'export PATH=$PATH:$ANDROID_HOME/cmdline-tools/latest/bin' >> ~/.bashrc
//echo 'export PATH=$PATH:$ANDROID_HOME/platform-tools' >> ~/.bashrc
echo 'export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/tools/bin:$ANDROID_HOME/platform-tools' >> ~/.bashrc
source ~/.bashrc // • echo '...' >> ~/.bashrc: 将环境变量写入 ~/.bashrc 文件。
//重启ubantu • source ~/.bashrc: 重新加载配置文件 不一定管用需重启ubantusdk-tools sdkcommandlinetools依赖于jdk版本、要与对应的jdk版本才行
解决: 先配置高版本jdk、、、、再安装历史版本commandlinetools、-再对应用回openjdk8
下载commandlinetools:
https://googledownloads.cn/android/repository/commandlinetools-linux-11076708_latest.zip
commandlinetools-linux-8092744_latest.zip
https://dl.google.com/android/repository/commandlinetools-linux-7583922_latest.zip
https://dl.google.com/android/repository/commandlinetools-linux-7302050_latest.zip 安装的这个版本的匹配openjdk8
下载commandlinetools的历史版本:
sdkmanager --list | grep "cmdline-tools;" 列出可安装的命令行工具的版本:
sdkmanager "cmdline-tools;29.0.3" 安装此版本命令行工具
安装最新版本:
sdkmanager --update
sdkmanager --install "cmdline-tools;latest"
sdk工具 命令行工具cmdline-tools的sdkmanager使用
sdkmanager --list 可列出所有可安装工具
sdkmanager "platform-tools" "platforms;android-27" # 安装平台工具和 Android 27
平台工具包括:adb、etc1tool、fastboot、logcat
下载platform-tools历史版本
https://dl.google.com/android/repository/platform-tools_r27.0.0-linux.zip
https://dl.google.com/android/repository/platform-tools_r27.0.1-linux.zip
....