将我的kivy应用程序与buildozer打包时,如何修复“ java.lang.module.FindException:未找到模块java.se.ee”错误

Jav*_*ero 4 python android kivy buildozer

我正在尝试打包我的Kivy应用程序(python3),但是当我运行命令时buildozer -v android debug看到此错误

# Cwd /home/javier/.buildozer/android/platform/android-sdk
Error occurred during initialization of boot layer
java.lang.module.FindException: Module java.se.ee not found
# Command failed: /home/javier/.buildozer/android/platform/android-sdk/tools/bin/sdkmanager tools platform-tools
# 
# Buildozer failed to execute the last command
# The error might be hidden in the log above this error
# Please read the full log, and search for it before
# raising an issue with buildozer itself.
# In case of a bug report, please add a full log with log_level = 2
Run Code Online (Sandbox Code Playgroud)

我有这个Java版本

$ java --version
openjdk 11.0.2 2019-01-15
OpenJDK Runtime Environment (build 11.0.2+9-Ubuntu-3ubuntu118.04.3)
OpenJDK 64-Bit Server VM (build 11.0.2+9-Ubuntu-3ubuntu118.04.3, mixed mode, sharing)
Run Code Online (Sandbox Code Playgroud)

从这里仅下载sdkmanager命令行工具,并将其放在我的根目录下,但没有成功。

我在这篇文章中看到了一个解决方案,我做到了,但是我没有解决错误。

我有安装了所有依赖项的virtualenv。我也编辑了buildozer.spec并且我自定义了它

Virtualenv是:

(envAppSinapsis)~/AppSin$ pip freeze
certifi==2019.3.9
chardet==3.0.4
Cython==0.28.2
docutils==0.14
idna==2.8
Kivy==1.10.1
Kivy-Garden==0.1.4
psycopg2==2.7.6.1
psycopg2-binary==2.7.6.1
pygame==1.9.4.dev0
Pygments==2.3.1
requests==2.21.0
urllib3==1.24.1
Run Code Online (Sandbox Code Playgroud)

我认为该错误与与JAVA相关的某件事有关,但我不知道是什么。谢谢您的帮助,请原谅我的英语不好。

我在Ubuntu 18中工作

UPDATE 打印屏幕错误

Aks*_*ain 8

收到错误许可证不被 SDK 构建工具等接受

通过安装解决

  1. SDK 命令行工具
  2. Google Play 许可服务

在 SDK 管理器 > SDK 工具中

在感到沮丧 2 小时后帮助了我,并从每个人那里听到唯一的方法就是降级 Java

  • 需要提到的是,如果您之前使用 'export JAVA_OPTS='-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee'' 编辑了 JAVA_OPTS 那么您需要将其设置回:export JAVA_OPTS = '' (2认同)

小智 5

直到几天前,如果您已经从Ubuntu仓库安装了openjdk-11-jdk / jre,您会发现它实际上是Java 10的一个版本(https://askubuntu.com/questions/1037646/why-is- openjdk-10-packaged-as-openjdk-11)。

java.se.ee已在Java 9、10中弃用并在Java 11中删除https://www.oracle.com/technetwork/java/javase/11-relnote-issues-5012449.html

不幸的是,还没有简单的方法来使sdkmanager或av​​dmanager等Android工具与Java 11一起运行。

我能够使用Java 10在Ubuntu上再次运行buildozer:

  • http://jdk.java.net/java-se-ri/10下载Java 10 Linux x64 JDK(.tar.gz)
  • Untar: tar -xzvf jdk-10_linux-x64_bin_ri.tar.gz
  • 设置路径: export PATH=/path/to/inflated/jdk-10/bin:$PATH


小智 -6

您可以通过降级 Java 或在终端中执行以下命令来解决此错误。

export JAVA_OPTS='-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee'
Run Code Online (Sandbox Code Playgroud)

另外,不要自己下载平台工具,让 buildozer 来处理。

如果上述命令不起作用,请尝试从应用程序中删除 buildozer 文件并重建应用程序。

  • 启动层 java.lang.module.FindException 初始化期间发生错误:未找到模块 java.se.ee (2认同)