问题标签 [p4a]

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 回答
962 浏览

kivy - 如何使用 p4a-build 将 kivy 应用程序转换为 apk?

我有一个功能齐全的安卓应用程序。我可以使用 kivy 启动器在 android 手机上运行它。现在,我想将其转换为 apk。我阅读了很多教程,但由于我在 Windows 上,所以这项任务似乎是不可能的。

我阅读了 p4a-build 并遵循了这段代码

安装成功,但第二个命令给出了 p4a-build 无法识别的错误。任何想法,如何解决这个问题。

0 投票
1 回答
604 浏览

python - Python for Android (p4a):如何在 .p4a 文件中传递参数

我没有使用 Buildozer,而是改为 P4a。Buildozer 使用 buildozer.spec 作为参数,我假设 .p4a 与此等效。根据我偶然发现的文档,我只需将 .p4a 添加到我的项目根目录中,p4a 就会找到它。

我不知道的是,您可以传递给构建的所有参数类型是什么?例如,您可以通过 .p4a 文件添加到 manifest.xml 吗?

如何将 android 权限添加到 .p4a?我假设布局与 buildozer.specs 不同。.p4a 文件上是否有任何完整的文档,列出所有参数类型以及它们应该如何编写?

我的 Distb 目录最终成为 /.local.. 有没有办法改变这个目录?

0 投票
0 回答
568 浏览

python - 如何在 Python 中为 p4a 创建自定义配方?

所以我正在尝试将 SpeechRecognition 包与我的 Kivy 应用程序一起使用。我正在使用 buildozer 进行构建和部署,但我需要为 SpeechRecognition 包创建自定义配方。

到目前为止,我已经下载了包含所有食谱的 p4a 文件夹并创建了一个新文件夹“speech_recognition”。构建应用程序时,buildozer 尝试下载包,但随后失败。我想我需要关于如何准确设置我的食谱文件的帮助。

我查看了一些可用的示例食谱here

这是我的 Speech_recognition/__init__.py

这是控制台输出:

令我感到奇怪的是,输出中的 url 与我指定的 url 不同?任何帮助,将不胜感激。

0 投票
1 回答
167 浏览

android - Kivy android 应用程序打开后立即崩溃

我正在尝试开发一个使用谷歌翻译 API 的简单应用程序。该应用程序可以正确构建和安装,但是当我在手机上打开该应用程序时,它就崩溃了,没有任何类型的错误消息。

这是我的main.py文件:

这是我的translate.kv文件:

我运行命令buildozer android debug来构建应用程序。我知道有android_new新的 p4a 工具链,但是当我尝试时,我收到如下错误消息:

Unknown command/target android_new

我会添加 buildozer.spec 文件,但 stackoverflow 认为它是垃圾邮件

0 投票
0 回答
108 浏览

ffmpeg - 无法在 buildozer 或 p4a 中构建 FFmpeg

[信息]:为 armeabi-v7a 构建 ffmpeg [信息]:-> 目录上下文 /Users/suryaveda/PycharmProjects/music_app/.buildozer/android/platform/build-armeabi-v7a/build/other_builds/ffmpeg/armeabi-v7a__ndk_target_21/ ffmpeg [INFO]:-> 运行配置 --disable-everything --enable-openssl --enable-nonfree --enable-pro...(还有 818 个)

pid 85730 的线程后台线程中的异常:

文件“/usr/local/Cellar/python/3.7.4_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/threading.py”,第 926 行,在 _bootstrap_inner self.run() 文件“/usr /local/Cellar/python/3.7.4_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/threading.py”,第 870 行,运行中 self._target(*self._args, **self. _kwargs) 文件“/usr/local/lib/python3.7/site-packages/sh.py”,第 1662 行,在 wrap fn(*args, **kwargs) 文件“/usr/local/lib/python3.7 /site-packages/sh.py",第 2606 行,在 background_thread 中 handle_exit_code(exit_code) 文件 "/usr/local/lib/python3.7/site-packages/sh.py",第 2304 行,在 fn 返回 self.command .handle_command_exit_code(exit_code) 文件“/usr/local/lib/python3.7/site-packages/sh.py”,第 877 行,在 handle_command_exit_code 中引发 exc sh.ErrorReturnCode_1:

STDOUT: tput:$TERM 没有值且未指定 -T tput:$TERM 没有值且未指定 -T armv7a-linux-androideabi21-clang 无法创建可执行文件。C 编译器测试失败。

Buildozer.spec

要求=python3,kivy,ffpyplayer,openssl,ffpyplayer_codecs

0 投票
0 回答
104 浏览

tensorflow - p4a 的 TensorFlow 配方

我想使用 buildozer 创建一个 apk。在我的应用程序中,我有一些 tensorflow、opencv 和 keras 要求。由于适用于 android 的 python 没有任何用于 tensorflow 的配方,所以我必须创建一个私人配方。但我不知道如何为 tensorflow 创建一个配方。请帮助我,我应该如何开始。

0 投票
0 回答
843 浏览

pandas - 通过 buildozer 的 Android 应用程序:需求与配方

我尝试部署一个 android 应用程序。我在 python 中使用 kivy 框架和 buildozer。我的问题是包含熊猫库。这是我简单且有效的测试代码:

下一步是定义 buildozer .spec 文件。在这里我看到两个选项:

  1. 通过要求:所以我像这样修改 .spec 文件

这很好用。2. 通过食谱:我从github获取食谱。并将其放入我的名为 recipe 的文件夹中。之后我像这样修改.spec文件

在 buildozer 日志文件中,我可以阅读:

因此 buildozer 找到了配方,但未安装该库并且该应用程序无法正常工作。

问题是:为什么不呢?

您可能会要求我使用第二个选项,因为第一个选项效果很好。下一步我想写一个新的食谱。所以我必须学习如何正确地包含现有的食谱。

我希望你能理解我的问题并给一些建议。

谢谢卡帕

0 投票
1 回答
55 浏览

android - 如何处理 pygame 中的暂停/恢复方法?

我希望我能到正确的地方。

我已经为 android 制作了一个 pygame 应用程序,但是 p4a 配方不包括某些 pygame-sdl 方法,例如 APP_WILLENTERBACKGROUND 或 APP_DIDENTERFOREGROUND。当应用程序移入后台时(它继续运行,但图形在前移时冻结)。当我想展示广告时,应用程序崩溃了。我了解如何在 kivy 中使用 on_pause/on_resume 方法,但我使用的是 pygame 配方。使用 pygame-sdl,我会做这样的事情:

但是,有没有另一种方法可以做到这一点而不必使用 pyjnius?干杯,

缺口

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 回答
431 浏览

python - Buildozer 和 Python-for-Android

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

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