我尝试在Linux Mint 21.2
for Android中编译一个在Python 3.10.12
上编写的应用程序。根据说明,例如,this one,必须安装Android SDK
。可以下载命令行版本(commandlinetools-linux-10406996_latest.zip
)从this webpage。将应用程序的zip解压缩到一个目录中就足够了,如果需要的话,然后向PATH
变量添加一些路径。这里是目录~/path/to/cmdline-tools/bin
的内容:
apkanalyzer avdmanager lint profgen resourceshrinker retrace screenshot2 sdkmanager
字符串
所以这是相当不错的-sdkmanager
存在。接下来,我尝试运行./sdkmanager
“是”和一个参数./sdkmanager "platforms;android-27"
以及写在the instruction。因此,我得到一个错误:这一个与使用openjdk version "1.8.0_392"
(java
和javac
是相同的版本):
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 java.lang.ClassLoader.defineClass(ClassLoader.java:756)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:473)
at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:621)
型
而这个使用java-1.11.0-openjdk-amd64
(同样,java
和javac
是相同的版本,在这种情况下是11):
Error: LinkageError occurred while loading main class com.android.sdklib.tool.sdkmanager.SdkManagerCli
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 55.0
型
但是,可以尝试设置JAVA_HOME变量。下面是/usr/lib/jvm
的内容:
default-java java-1.11.0-openjdk-amd64 java-11-openjdk-amd64 java-1.8.0-openjdk-amd64 java-8-openjdk-amd64
型
我尝试为JAVA_HOME
设置java-8-openjdk-amd64
和java-11-openjdk-amd64
,将export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
字符串添加到~/.bashrc
中,但没有帮助。错误仍然存在。
**问题:**可以做些什么来修复它?
1条答案
按热度按时间o2gm4chl1#
我在尝试安装Android Studio for Flutter时遇到了类似的问题。从我的笔记中..
你已经安装了Java,所以跳到 * 步骤2 -管理Java*,按照文档。我希望它能解决你的问题。