build-tools文件夹未找到/home/pi/. builddozer/android/platform/android-sdk-20/build-tools

ax6ht2ek  于 2023-06-04  发布在  Android
关注(0)|答案(3)|浏览(228)

我正在用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

任何想法?
谢谢你

kmbjn2e3

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有太多的“条件”需要满足,才能让事情正常工作。也许它对一些高级程序员来说很漂亮,我觉得它非常烦人&不必要。

hfyxw5xn

hfyxw5xn2#

在buildozer.spec文件中,有一个配置为android.accept_sdk_license。将值设置为True
android.accept_sdk_license = True

cfh9epnr

cfh9epnr3#

我也遇到了同样的问题,我通过在buildozer.spec中将android.skip_update设置为False来解决它。
我把它设置为True,因为我在为f-droid构建时做了很多测试。
因此,只需切换到:

android.skip_update = True

致:

android.skip_update = False

解决了我的问题。

相关问题