2016-12-30 12 views
0

im строит мое первое приложение, оно включает небольшую БД с sqlite3 с использованием FTS. Я могу нажать мое приложение в своем телефоне, и он работает, однако он падает, когда я делаю запрос FTS в БД. Я получаю это:Kivy Android Sqlite3 fts сбой приложений

12-30 15:37:02.861 28307 28337 I python : Error no such module: fts3: 

(полный журнал здесь) http://paste.ofcode.org/zJjtqzQZgCe2PVg9xKssw3

приложение работает задолго до его компиляции так FTS забывается во время компиляции я думаю?

Любая идея, как это исправить? Действительно ли Kivy поддерживает FTS?

им почти нет! Спасибо за вашу помощь!

ответ

0

Ok я получил эту работу с помощью @KeeWeeUsr

1- Я не был с помощью соответствующей команды на buildozer. андроид вместо android_new, это создало правильные папки с правильным рецептом sqlite3, в котором FTS4 включен по умолчанию.

2- Даже если sqlite3 добавляли buildozer.spec, мне нужно, чтобы удалить sqlite3 из ВСЕХ blacklist.txt файлов в моем проекте (создан после первой сборки)

FTS4 сейчас работает отлично.

0

Если FTS не является чистым Python (расширение C или что-то еще), тогда ему необходимо recipe, в противном случае вам нужно будет упомянуть его только в requirements при создании вашего приложения.

Кроме того, рекомендуется использовать загрузку sdl2 (android new), так как PyGame переходит на задний план и не поддерживается с момента перехода на sdl2 на Android.

+0

Привет, я добавил sqlite3 к требованию, но как я могу добавить fts специально? fts или fts3 не работает. Благодаря! – Atoms

+0

@Atoms Вам необходимо добавить то же имя к требованиям, что и в случае с 'pip install'. Если это не сработает, скорее всего это не чистый пакет Python, поэтому вам нужно написать рецепт. – KeyWeeUsr

+0

@KeeWeeUsr Хорошо, поэтому я решил проблему с recipe.sh. Это я не использовал android_new, а просто Android. Теперь я использую android_new, и я вижу, что рецепт для sqlite позволяет fts4 по умолчанию. Тем не менее, он дает мне «Ошибка атрибута: контекст objct не имеет атрибута hostpython», который я могу решить, добавив python2 в мои требования (buildozer.spec). приложение успешно компилируется, но затем «нет модуля sqlite3», когда я запускаю приложение на своем телефоне Android. Я попытался переместить требование вокруг, но это не повлияло. Есть идеи? Я знаю, что я близок к решению этого ахаха. Благодаря! – Atoms