我正在尝试打包我的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
我有这个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)
我只下载了sdkmanager命令行工具from here并将其放在我的根目录下,但没有成功。
我在this post中看到了一个解决方案,我做到了,但是我没有解决错误。
我有一个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
我认为该错误与JAVA相关,但我不知道是什么。谢谢您的帮助,请原谅我的英语不好。
我正在Ubuntu 18中工作
答案 0 :(得分:7)
出现错误,SDK 构建工具等不接受许可证
通过安装解决
在 SDK 管理器 > SDK 工具
在我沮丧了 2 个小时之后帮助了我,并从每个人那里听到唯一的方法就是降级 Java
答案 1 :(得分:1)
直到几天前,如果您已经从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或avdmanager等Android工具与Java 11一起运行。
我能够使用Java 10在Ubuntu上再次运行buildozer:
tar -xzvf jdk-10_linux-x64_bin_ri.tar.gz
export PATH=/path/to/inflated/jdk-10/bin:$PATH
答案 2 :(得分:0)
您可以通过降级Java或在终端中执行以下命令来解决此错误。
from datetime import datetime
x="Hello, it is now %s." % datetime.now().strftime('%d-%m-%Y %H:%M:%S')
import csv
try:
with open('output.csv', 'w+') as csvFile:
writer=csv.writer(csvFile)
writer.writerow(x.encode('UTF-8'))
print(x.encode('UTF-8'))
finally:
csvFile.close()
import pandas as pd
data = pd.read_csv('output.csv')
data.to_excel('output.xlsk')
另外,不要自己下载平台工具,让buildozer负责。
如果上述命令不起作用,请尝试从您的应用中删除buildozer文件,然后重新构建您的应用。