我正在用python - kivy制作一个android应用程序。并使用raspbian - raspberry pi 3。试图利用
buildozer android debug deploy run
但是得到了错误:
# Check that aidl can be executed
# build-tools folder not found
/home/pi/.buildozer/android/platform/android-sdk-20/build-tools
# Search for Aidl
# Aidl not found, please install it.
我已经成功安装了Aidl,但错误重复出现。
当尝试手动安装构建工具时,在命令
~/.buildozer/android/platform/android-sdk-20/tools/android
我得到了以下结果:
Exception in thread "main" java.lang.NoClassDefFoundError:
org/eclipse/swt/widgets/Display
at com.android.sdkmanager.Main.showSdkManagerWindow(Main.java:328)
at com.android.sdkmanager.Main.doAction(Main.java:316)
at com.android.sdkmanager.Main.run(Main.java:118)
at com.android.sdkmanager.Main.main(Main.java:101)
Caused by: java.lang.ClassNotFoundException: org.eclipse.swt.widgets.Display
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 4 more
任何想法?
谢谢你
3条答案
按热度按时间kmbjn2e31#
首先,我在Kubuntu上只有24小时,所以我的答案可能不完美,但这里是我所能做的来解决你提到的一些问题。
从本网站手动下载构建工具文件https://androidsdkoffline.blogspot.com/p/android-sdk-build-tools.html
一旦你下载了它,解压缩它在/Downloads文件夹-它使一个android-4.4W文件夹。进入Select All并复制
现在转到/home/pi/.buildozer/android/platform/android-sdk-20,创建一个名为“build-tools”的文件夹并粘贴内容
这将解决# build-tools文件夹未找到的问题
下一个问题将是Aidl未找到,然后是Aidl未启动,要解决该问题,请执行以下操作:
现在,在构建工具文件夹中创建一个新文件夹,并将其命名为0 -它是零和大写O。在你刚刚粘贴内容的build-tools文件夹中,有一个名为aidl的文件,复制这个文件并将其粘贴到0中。不知道为什么,但这解决了这个问题。
现在你将面临的下一个问题是,32位问题,其次是Android API 19问题,最后我放弃的是另一个与Python相关的问题。祝你好运,希望谷歌能帮助你。
我用Linux/Ubuntu。我会回到windows,找到另一种方法。Linux有太多的“条件”需要满足,才能让事情正常工作。也许它对一些高级程序员来说很漂亮,我觉得它非常烦人&不必要。
hfyxw5xn2#
在buildozer.spec文件中,有一个配置为android.accept_sdk_license。将值设置为True
android.accept_sdk_license = True
cfh9epnr3#
我也遇到了同样的问题,我通过在
buildozer.spec
中将android.skip_update
设置为False
来解决它。我把它设置为
True
,因为我在为f-droid构建时做了很多测试。因此,只需切换到:
致:
解决了我的问题。