问题标签 [python-for-android]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
248 浏览

buildozer - 如何清理 buildozer 自定义配方构建?

我有一个在目录buildozer中有自定义python-for-android食谱的项目p4a/recipes/

我的一个食谱需要一些调试,我不想在每次想要重建 python 和所有其他程序时都重建它。

我试过buildozer android p4a -- clean_recipe_build recipe-name了,但没有找到(运行recipes只显示香草食谱,而不是我的自定义食谱)。

我应该怎么办?

0 投票
1 回答
278 浏览

c++ - buildozer + Cython + C++ 库:dlopen 失败:找不到 module.so 引用的符号符号名称

phase_engine.so尝试使用_ZTINSt6__ndk18ios_base7failureE但找不到它:

它存在于libc++_shared.so

哪个不是动态链接的phase_engine.so

尽管我很好地询问了libraries = ['c++'],in setup.py(肯定会运行):

我究竟做错了什么?

0 投票
1 回答
175 浏览

buildozer - 如何为本地目录中的包而不是 zip 文件 url 编写 python-for-android 配方?

我有

但是当我尝试用file://谷歌搜索这个问题时看到的 URL 编写一个食谱时,我得到一个错误Exception: Given path is neither a file nor a directory: /home/user/project/.buildozer/android/platform/build-armeabi-v7a/packages/mypackage/mypackage(不是 mypackage 两次)。

我怎样才能做到这一点?

0 投票
1 回答
169 浏览

c++ - python-for-android、Cython、C++、CythonRecipe:只允许在 c++ 中进行操作

我的 Cython 项目有这个 setup.py:

当我运行 buildozer 时,它对某些 Cython 功能仅在 C++ 模式下可用感到愤怒:

据我了解,它忽略了我的 setup.py 并以某种方式自己做。我如何给它所有这些参数?

0 投票
1 回答
121 浏览

match - pythonforandroid(p4a)中blacklist.txt的用途是什么?

在 pythonforandroid 的文档中,在https://python-for-android.readthedocs.io/en/latest/buildoptions/中,有一个被称为黑名单的构建选项。

  • --blacklist:包含将从最终 APK 中排除的黑名单模式的文件的路径。默认为 ./blacklist.txt

但是,在任何地方都找不到关于如何使用该文件以及模式应该代表什么的任何信息。例如,这是否用于排除库、文件或目录?模式是否匹配文件名或内容?模式的语法是什么,或有效的 blacklist.txt 文件的示例是什么?

0 投票
1 回答
183 浏览

android - Kivy 低延迟音频(也在 Android 上)

我想用 Kivy 作为前端写一个音乐 DAW / 合成器 / 鼓机。

有没有办法用 Kivy 做低延迟音频?

(理想情况下它也可以在 Android 上编译和运行)

0 投票
0 回答
14 浏览

ubuntu - 在 apk 中使用模块

我有一个 kivyapp 我想用 buildozer 在我的手机上启动它,除了我在我的 .apk 中使用的模块之外,一切都在工作,当我的应用程序在手机上启动时找不到。我知道这些模块需要以某种方式导入到我的 apk 中,但是应该怎么做呢?我在ubuntu里面做这个。

0 投票
1 回答
431 浏览

python - Buildozer 和 Python-for-Android

我在我的 Manjaro Linux 系统上创建了一个 Conda 环境。当我开发一个 Kivy 应用程序并运行它时,它运行良好。然后,当我将它编译成 APK 以在我的 Android 平板电脑上运行时,我遇到了一个奇怪的问题。我可以成功创建一个 APK 并将其安装在我的平板电脑上。但是... Python-For-Android 会在构建我的 APK 时下载我已经安装的软件包。有时它会下载我不使用的版本。有时它找不到我已经安装的包。

我的问题是:如何覆盖(可能在我的 Buildozer Spec 文件中)P4A 下载包(我猜它被称为食谱)并只使用我已经下载并安装在我的 Conda 环境中的包。(这样我编译的 APK 将与我在我的 Linux 机器上运行的 Kivy 应用程序完全相同。)

0 投票
0 回答
37 浏览

python - 如何使用 PythonRecipe(python-for-android) 添加 python 库?

我使用 buildozer 来获取APK文件。我已将所需的库添加到 *.spec 文件中。但该应用程序并未在 Android 手机上打开。我用代码调试adb logcat *:S python:D。我注意到其中一个库工作不正常。所以我想使用PythonRecipe添加这个库。我根据这个站点编写了以下代码:

但我不知道把这个文件放在哪里以及给它起什么名字!

0 投票
1 回答
1573 浏览

kivy - Buildozer 在为 android 打包时没有使用正确的 kivy 版本

我在为 android 打包我的 Kivy 应用程序时遇到了一些问题,这些问题可能相关,也可能不相关:

  • 除了 Kivy,我的应用导入的唯一包是时间和数学模块。当我将它们中的一个或两个添加到 buildozer 规范文件中的要求时,我得到一个“pip._internal.exceptions.DistributionNotFound:时间没有匹配的分布”。错误。当我没有将它们包含在我的要求中时,构建成功,但在打开时崩溃并出现错误:
  • “例外:此系统上安装的 Kivy 版本太旧。(您有 1.11.1,但应用程序需要 2.0.0)”

我正在 Ubuntu 上的 VirutalBox 中进行安装,并遵循 Kivy 和 Buildozer 文档中概述的安装过程,以及 Eric Sandberg 在 YouTube 上的教程。我在 buildozer 规范文件中设置了 Kivy 版本,并使用 pip 在 VM 上安装了 Kivy 2.0.0。当我冻结时,它显示了正确版本的 Kivy。我注意到的一件事是当我尝试使用“apt-get install python3-kivy”安装它时,它说安装了 kivy 1.10,这是最新的版本。

这似乎是一个容易解决的问题,但我无法弄清楚它为什么要尝试使用这个版本的 Kivy!请让我知道是否需要任何其他信息进行调试。规范文件几乎没有改变,除了在需求中指定 Kivy=2.0.0。

以下是日志: 错误日志

以下是要求: 要求