2016-03-22 4 views
0

У меня есть python 2.7.6, установлены новейшие киви и buildozer. Теперь я хочу использовать firebase для python, скачанный: sudo pip install python-firebase.Реализовать python-firebase в android

Я могу добавить это к требованиям в файле buildozer.spec как python-firebase. Это все работает отлично и в папке .buildozer/applibs/я получил:

firebase, python_firebase-1.2.dist-инфо, запросы, запросы-2.9.1.dist-инфо.

Поэтому я ожидаю, что смогу импортировать firebase в свое приложение, но это не сработает. когда я добавляю: from firebase import firebase приложение на Android не может даже запускаться (я вижу логотип приложения kivy, но затем приложение отключается).

Может ли кто-нибудь объяснить мне, почему и какие следующие шаги?

редактировать 1: I/python (14201): File "/home/notwaka/Desktop/App/.buildozer/android/app/_applibs/firebase/__init__.py", line 3, in <module> I/python (14201): File "/home/notwaka/Desktop/App/.buildozer/android/app/_applibs/firebase/async.py", line 1, in <module> I/python (14201): File "/home/notwaka/Desktop/App/.buildozer/android/platform/python-for-android/build/python-install/lib/python2.7/multiprocessing/__init__.py", line 84, in <module> I/python (14201): ImportError: No module named _multiprocessing I/python (14201): Python for android ended.

+0

Что не работает и что такое ошибки? – jligeza

+0

Когда я использую: 'buildozer android debug deploy run 'приложение закрывается. И он делает это, потому что я добавляю: от firebase import firebase. Я не вижу никакой ошибки. –

+0

Ошибки доступны в logcat. Это стандартное знание разработки Android. –

ответ

2

Модуль multiprocessing не поддерживается в Android из-за несовместимости с Bionic (LIBC Андроида). Я бы предложил попробовать использовать Firebase Android SDK через pyjnius или просто сделать веб-запросы с использованием Kivy's UrlRequest или через Twisted - это всего лишь REST API.

+0

okey, спасибо! ~ Не могли бы вы также объяснить мне, как запускать неасинхронные методы в потоке? Поскольку я только хочу его использовать, мне нужно отредактировать код. –

+0

На самом деле, глядя больше на код firebase, это невозможно. Он автоматически импортирует многопроцессорность, независимо от того, будете ли вы использовать его или нет. Я обновил свой ответ. –

+0

Я решил это сейчас, используя запросы python lib. На самом деле это было довольно просто, теперь мне не нужна ни одна firebase lib. Благодаря! @ Ryan-P –