【问题标题】:build-tools folder not found /home/pi/.buildozer/android/platform/android-sdk-20/build-tools未找到构建工具文件夹 /home/pi/.buildozer/android/platform/android-sdk-20/build-tools
【发布时间】:2018-01-11 13:58:15
【问题描述】:

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

有什么想法吗??

谢谢

【问题讨论】:

  • 我非常感谢任何帮助。

标签: android kivy raspberry-pi3 raspbian build-tools


【解决方案1】:

首先,我在 Kubuntu 中只有 24 小时,所以我的回答可能并不完美,但我可以做的就是解决您提到的一些问题。

从此网站手动下载构建工具文件 https://androidsdkoffline.blogspot.com/p/android-sdk-build-tools.html

下载后,将其解压缩到 /Downloads 文件夹 - 它会生成一个 android-4.4W 文件夹。进入全选并复制

现在转到 /home/pi/.buildozer/android/platform/android-sdk-20 并创建一个名为“build-tools”的文件夹并粘贴内容

这将解决# build-tools folder not found的问题

下一个问题将是 Aidl not found 和 Aidl didn't start,要解决这个问题,请执行以下操作:

现在在 build-tools 文件夹中创建一个新文件夹并将其命名为 0 - 它为零且大写 O。在您刚刚粘贴内容的 build-tools 文件夹中,有一个名为aidl 的文件,复制此文件并将其粘贴到 0 中。不知道为什么,但这解决了问题。

现在您将面临的下一个问题是 32 位问题,然后是 Android API 19 问题,最后我放弃的是另一个与 python 相关的问题。祝你好运,希望谷歌能帮助你。

我已经完成了 Linux/Ubuntu。我将回到 Windows 并找到另一种方法。 Linux 有太多的“条件”需要满足才能让事情顺利进行。也许它对一些高级程序员来说很漂亮,我觉得它非常烦人和不必要。

【讨论】:

  • 非常感谢您的回答。我问它已经几个月了,所以我只是在 Ubuntu 计算机上构建它,而不是 rpi。它有效..下次我一定会尝试你的答案。沙哈尔
  • 你应该考虑使用ubuntu
【解决方案2】:

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

android.accept_sdk_license = True

【讨论】:

    猜你喜欢
    • 2020-05-25
    • 1970-01-01
    • 2015-02-03
    • 1970-01-01
    • 1970-01-01
    • 2022-11-16
    • 1970-01-01
    • 1970-01-01
    • 2021-08-05
    相关资源
    最近更新 更多