标签: buildozer

使用ubuntu和buildozer打包安卓程序的错误

必备条件

我正在试图弄清楚如何使用buildozer打包python应用程序.在浪费了很多时间试图这样做之后,我已经达到了一个陷入困境的地步,这里是我所遵循的步骤的一个小小的总结:

  • 下载了ubuntu16.04 x64 .vdi,提取并运行virtualbox.

  • sudo apt-get update

  • sudo apt-get upgrade
  • sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev git
  • sudo apt-get install build-essential ccache git libncurses5:i386 libstdc++6:i386 libgtk2.0-0:i386 libpangox-1.0-0:i386 libpangoxft-1.0-0:i386 libidn11:i386 python2.7 python2.7-dev openjdk-8-jdk unzip zlib1g-dev zlib1g:i386
  • sudo apt install curl git
  • curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash
  • echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
  • echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
  • echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n …

python ubuntu android virtualbox buildozer

12
推荐指数
1
解决办法
435
查看次数

Kivy/Buildozer导入错误 - pymssql.so是64位而不是32位

我正在使用64位Kivy/Buildozer VM来构建和部署Kivy应用程序到Android Lollipop(armeabi-v7a 32位arch).

Buildozer构建是成功的但是在执行应用程序和导入pymssql包(用于连接到远程MS SQL服务器)时,我收到以下错误:

I/python  ( 5335):    File "/build/phytogp/android/app/main.py", line 4, in <module>
I/python  ( 5335):    File "/build/phytogp/android/app/views/apps/phyto_app.py", line 45, in <module>
I/python  ( 5335):    File "/build/phytogp/android/app/services/twilio_service.py", line 2, in <module>
I/python  ( 5335):  ImportError: dlopen failed: "/data/data/com.phyto.phytogp/files/app/lib/python2.7/site-packages/pymssql.so" is 64-bit instead of 32-bit
Run Code Online (Sandbox Code Playgroud)

据我了解,预制pymssql-2.1.3-cp27-cp27mu-manylinux1_x86_64.whl车轮pymssql应支持64和32位拱.

如何获得pymssql.so支持32位的?

python python-2.7 kivy buildozer

11
推荐指数
1
解决办法
441
查看次数

Cython 未找到..请在 buildozer 中安装它错误

我试图在 Linux 中从推土机创建 apk 文件,但每次我收到此错误时都找不到 cython。虽然我尝试安装它,但我找到了整个互联网但没有得到答案。请帮助我。我是初学者
\n代码:

\n
(kali\xe3\x89\xbfkali)-[~/Desktop/KivyApp]\n\xe2\x94\x94\xe2\x94\x80$ buildozer android debug                                                               1 \xe2\xa8\xaf\n# Check configuration tokens\n# Ensure build layout\n# Check configuration tokens\n# Read available permissions from api-versions.xml\n# Preparing build\n# Check requirements for android\n# Run 'dpkg --version'\n# Cwd None\nDebian 'dpkg' package management program version 1.20.7.1 (amd64).\nThis is free software; see the GNU General Public License version 2 or\nlater for copying conditions. There is NO warranty.\n# Search for Git (git)\n#  -> found at /usr/bin/git\n# Search for Cython (cython)\n# Cython (cython) not …
Run Code Online (Sandbox Code Playgroud)

python android cython kivy buildozer

10
推荐指数
2
解决办法
2万
查看次数

Buildozer 未知命令/目标 android_old

我仍然是 python 和 kivy 的菜鸟。

无论如何,我正在制作一个简单的 android 应用程序,它只显示一个标签。现在我正在尝试通过 buildozer 将该 python 文件打包到一个 apk。
buildozer init作品,但随后的buildozer -v android debug犯规,并给出错误Unknown command/target android_old

任何人都可以帮我解决这个问题吗?谢谢

python android kivy buildozer

8
推荐指数
1
解决办法
8890
查看次数

Android kivy 在哪里放置应用程序文件(ini、图像数据库等)

我已经使用 kivy 为 Android 创建了一个原型应用程序。它已在 buildozer 中编译,我已上传到 Android 设备。

但我不确定将应用程序相关文件(如 ini 文件、图像数据库等)放在哪里。

非常感谢任何帮助

[编辑 2020 07 25]

当我问这个问题时(许多个月前),我对 kivy 和 buildozer 的整个想法还是陌生的。

我没有意识到什么对初学者来说并不明显(见证这个问题被查看的次数)以及@inclement 的答案没有解决的是,Buildozer 将整个 python/kivy 项目包装成一个文件它可以包含您的所有静态数据。所以你只需要确保你的 buildozer 规范选择了它们。

android kivy buildozer

7
推荐指数
1
解决办法
2137
查看次数

Android SDK 工具:OpenCV 需要 Android SDK 工具修订版 14 或更新版本

我正在尝试使用 kivy、opencv 创建一个简单的照片捕获应用程序。当我尝试使用 buildozer 创建一个 .apk 文件,并将 opencv 放在 .spec 文件的需求中时,我遇到了这个错误

-- Android: fixup -g compiler option from Android toolchain
-- Update variable ANDROID_SDK from environment: /home/livon/.buildozer/android/platform/android-sdk
-- Android SDK Tools: ver. 2.0 (description: 'Android SDK Command-line Tools')
-- Android SDK Build Tools: ver. 30.0.0 (subdir 30.0.0 from 30.0.0)
CMake Error at cmake/android/OpenCVDetectAndroidSDK.cmake:176 (message):
Android SDK Tools: OpenCV requires Android SDK Tools revision 14 or newer.

Use BUILD_ANDROID_PROJECTS=OFF to prepare Android project files without
building them
Call Stack (most recent …
Run Code Online (Sandbox Code Playgroud)

opencv apk kivy buildozer

7
推荐指数
1
解决办法
1244
查看次数

命令失败:tar xzf android-sdk_r20-linux.tgz

我试图构建kivy应用程序到Android并得到此错误

# Check configuration tokens
# Ensure build layout
# Check configuration tokens
# Preparing build
# Check requirements for android
# Install platform
# Apache ANT found at /home/ali/.buildozer/android/platform/apache-ant-1.9.4
# Android SDK is missing, downloading
# Unpacking Android SDK
# Command failed: tar xzf android-sdk_r20-linux.tgz
# 
# Buildozer failed to execute the last command
# If the error is not obvious, please raise the log_level to 2
# and retry the latest command.
# In case of a bug …
Run Code Online (Sandbox Code Playgroud)

python android kivy buildozer

6
推荐指数
1
解决办法
780
查看次数

在 kivy 中使用 opencv, cv2.videocapture with android - python for android

我已经工作了几天,试图在 python-for-android 中使用 cv2.VideoCapture()。我正在使用带有 buildozer 的 kivy 为 android 构建 apk。这是我的代码

from kivy.app import App
from kivy.uix.image import Image
from kivy.clock import Clock
from kivy.graphics.texture import Texture
import cv2


class KivyCamera(Image):
    def __init__(self, capture, fps, **kwargs):
        super(KivyCamera, self).__init__(**kwargs)
        self.capture = capture
        Clock.schedule_interval(self.update, 1.0 / fps)

    def update(self, dt):
        print 'hello'
        ret, frame = self.capture.read()
        print frame
    if ret:
        # convert it to texture
        buf1 = cv2.flip(frame, 0)
        buf = buf1.tostring()
        image_texture = Texture.create(
            size=(frame.shape[1], frame.shape[0]), colorfmt='bgr')
        image_texture.blit_buffer(buf, colorfmt='bgr', bufferfmt='ubyte')
        # …
Run Code Online (Sandbox Code Playgroud)

python android opencv kivy buildozer

6
推荐指数
0
解决办法
1773
查看次数

Android 中使用 kivy 的前台服务

我正在尝试使用 kivy 在 Android 中执行前台服务。

我已经按照互联网上的不同示例创建了一个服务,但是在进入睡眠状态(打瞌睡模式)几分钟后,甚至当我更改为另一个应用程序时,所有这些服务都会被 Android 杀死。

我尝试了几个例子并尝试了不同的选择,但几分钟后没有人活着。

其中我尝试过

https://python-for-android.readthedocs.io/en/latest/services/

https://github.com/tshirtman/kivy_service_osc

https://github.com/kivy/kivy/wiki/Background-Service-using-P4A-android.service

如何在Android中保持kivy服务在后台运行(切换到其他应用程序或锁定屏幕时服务仍然运行)?

看来,由于应用程序生成的 Android Oreo 服务一旦被终止,就会被终止。如果您想在后台运行服务,则需要向用户显示持续通知,告诉他们您的应用程序正在后台运行。但我不知道如何在基维中做到这一点。

如果有人可以帮助我或展示如何做到这一点的示例,我将不胜感激。

提前致谢

编辑:目前的解决方案,以防万一它可以帮助某人。

最后,我已经能够使用 kivy 启动前台服务(因此当手机进入睡眠状态或当您使用其他应用程序时它不会被 Android 杀死),但我必须编辑 buildozer 结构的一个文件。

我已使用https://github.com/tshirtman/kivy_service_osc中的示例来创建我执行的 apk

buildozer -v android debug deploy run logcat
Run Code Online (Sandbox Code Playgroud)

然后我已经编辑.buildozer/android/platform/build-armeabi-v7a/dists/oscservice__armeabi-v7a/templates/Service.tmpl.java(服务脚本在service.y文件中)并且我已经更改

intent.putExtra("serviceStartAsForeground", "{{ foreground|lower }}");
Run Code Online (Sandbox Code Playgroud)

经过

intent.putExtra("serviceStartAsForeground", "true");
Run Code Online (Sandbox Code Playgroud)

然后我又执行了

buildozer -v android debug deploy run logcat
Run Code Online (Sandbox Code Playgroud)

我还没有找到任何其他方法来告诉 kivy 我想要执行前台服务。如果有人知道并分享其他更好的形式来做到这一点,我将不胜感激。

android kivy buildozer

6
推荐指数
0
解决办法
1192
查看次数

kivymd 应用程序在 Android 手机上崩溃 ModuleNotFoundError:没有名为“PIL”的模块

我的 Kivy 应用程序在 Android 手机上启动时崩溃。buildozer logcat 显示以下错误:

02-21 17:09:58.777 14941 14979 I python  :  ModuleNotFoundError: No module named 'PIL'
02-21 17:09:58.777 14941 14979 I python  : Python for android ended.
Run Code Online (Sandbox Code Playgroud)

这是我的 buildozer.spec 要求:

requirements = python3,kivy==2.0.0,git+https://github.com/HeaTTheatR/KivyMD.git,sdl2_ttf==2.0.15,python-dateutil,requests,urllib3,chardet,idna,plyer,android,jnius,oscpy
Run Code Online (Sandbox Code Playgroud)

据我了解,只有 KivyMD 依赖于 PIL。该应用程序在我的 Mac 上完美运行,之前在 Android 手机上也运行良好。错误才刚刚开始发生。所以,我真的很困惑,非常感谢任何帮助。提前致谢!

python android kivy buildozer kivymd

6
推荐指数
1
解决办法
2429
查看次数

标签 统计

buildozer ×10

kivy ×9

android ×8

python ×7

opencv ×2

apk ×1

cython ×1

kivymd ×1

python-2.7 ×1

ubuntu ×1

virtualbox ×1