問題描述
我正在嘗試構建一個基于 Kivy 和 OpenCv 的示例 Android 應用:
I'm trying to build an example Android app based on Kivy and OpenCv:
import kivy
from kivy.uix.button import Button
import cv2
kivy.require('1.0.6')
from kivy.app import App
from kivy.uix.label import Label
class MyApp(App):
def build(self):
return Button(text='Hello!',
background_color=(0, 0, 1, 1),
font_size=150)
if __name__ == '__main__':
MyApp().run()
在桌面上運行此示例時,它運行良好,但是當我使用 buildozer 構建 APK 并嘗試在手機上運行它時,應用程序會立即打開和關閉.我的構建器設置是:
When running this example on desktop, it works fine, nevertheless when I build the APK with buildozer and try to run it on the phone, the app opens and closes immediately. My buildozer settings are:
[app]
title = MyTest
package.name = kivycrash2
package.domain = org.test
source.dir = .
source.include_exts = py,png,jpg,kv,atlas
version = 0.1
requirements = kivy, numpy, cv2
orientation = landscape
如果我從代碼中刪除import cv2"并從 buildozer 中刪除 cv2 和 numpy 要求,生成的 apk 在手機上運行良好.
If I remove the "import cv2" from the code and also remove the cv2 and numpy requirements from buildozer, the generated apk runs fine on the phone.
是否可以讓 opencv 在 Android 設備上與 Kivy 一起工作?buildozer 是否使用我系統上安裝的 opencv 版本(opencv 3)?
Is it possible to make opencv work with Kivy on an Android device? Does buildozer use the opencv version installed on my system (opencv 3)?
謝謝.
推薦答案
為了解決手機上運行apk時立即崩潰的問題,buildozer.spec文件必須設置如下:
To solve the immediate crash when running the apk on the phone, the buildozer.spec file must be setup as follows:
[app]
title = MyTest
package.name = kivycrash2
package.domain = org.test
source.dir = .
source.include_exts = py,png,jpg,kv,atlas
version = 0.1
requirements = kivy, numpy, opencv
orientation = landscape
@Fins 建議
謝謝.
這篇關于Kivy Opencv Android的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!