【问题标题】:Buildozer: manually include an external APIBuildozer:手动包含外部 API
【发布时间】:2015-09-02 00:46:19
【问题描述】:

我想在 PIP 或 Internet 上的任何公共场所中不存在的构建中包含一个 SDK 库。我读过这可以手动完成。我将 SDK 库放在 Kivy 项目的根目录中。开发控制台发现这个导入很好。问题在于部署。

查看 buildozer.spec 文件我发现了这个:

# (str) Custom source folders for requirements
# Sets custom source for any requirements with recipes
# requirements.source.kivy = ../../kivy

我在项目根目录中名为 sdk 的文件夹中有 SDK,因此我尝试了这个:

requirements.source.sdk = sdk

它编译没有错误,但在尝试导入它时应用程序崩溃。

如何手动将 SDK 库包含到我的 APK 中?

【问题讨论】:

  • 您是否尝试在应用程序崩溃时查看日志以查找错误?如果没有,请尝试buildozer android debug deploy run logcat > logcat.txt 直接部署您的应用程序,并且不要忘记在手机上进行 USB 调试。
  • 为了让它工作,我需要 Kivy Launcher 应用程序和 SD 卡,对吗?
  • 不!您不需要 kivy 启动器应用程序或 SD 卡 :) .. 浏览此 gist 文件以获取完整过程。 gist.github.com/kiok46/06add5048882e6504895
  • 只是一个小观察,一旦应用程序在相关设备上,您只需在控制台中键入“adb logcat > log.txt”并立即在设备上运行应用程序,而不必每次运行 logcat 时再次构建(当然,除非您更改了应用程序)。然后 ctrl+c 完成后停止 logcat。

标签: android python kivy buildozer


【解决方案1】:

好吧!您已经找到了答案:将 SDK 文件夹放入您的项目文件夹中。

我写这个答案是为了帮助将来的人。 :)

每当您在设备上部署应用程序时,使用日志总是简单而有用。

即使您想在应用程序中查看打印语句,您也总是会发现日志很有用。

那么,这就是你的做法。

您需要使用 adb 服务器。

  1. 将您的安卓设备与您的笔记本电脑/PC 连接起来。

  2. 进入开发者选项并打开保持唤醒和 USB 调试选项

  3. 在您的终端中输入 sudo adb-kill server 然后输入 sudo adb-start server。

  4. 输入 adb devices(这应该给出连接的设备列表)

附加设备列表

you_device_name 设备

  1. cd 到您进行构建的文件夹。
  2. 输入buildozer android debug deploy run logcat > logcat.txt 这会将日志(整个过程)保存在同一文件夹中的文件 logcat.txt 中。 仔细检查并找出你的错误。
  3. 保持手机处于唤醒状态。(不要锁定)。

编码愉快:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多