Buildozer: вручную включить внешний API

Я хотел бы включить в сборку библиотеку SDK, которой нет в PIP или в любом общедоступном месте в Интернете. Читал, что это можно сделать вручную. Я поместил библиотеку SDK в корень своего проекта Kivy. Консоль разработки находит этот импорт в порядке. Проблема в развертывании.

Посмотрев на файл buildozer.spec, я наткнулся на это:

# (str) Custom source folders for requirements
# Sets custom source for any requirements with recipes
# requirements.source.kivy = ../../kivy

У меня есть SDK в папке sdk в корне моего проекта, поэтому я попробовал это:

requirements.source.sdk = sdk

Компилируется без ошибок, но приложение вылетает при попытке импорта.

Как вручную включить библиотеку SDK в свой APK?


person dan-klasson    schedule 17.06.2015    source источник
comment
Вы пробовали заглядывать в логи на предмет ошибки при падении приложения? ну, если нет, тогда попробуйте buildozer android debug deploy run logcat > logcat.txt развернуть ваше приложение напрямую, а также не забудьте включить отладку по USB на вашем телефоне.   -  person kiok46    schedule 17.06.2015
comment
также эта ссылка может помочь github.com/tito/2048/blob/master/buildozer .spec   -  person kiok46    schedule 17.06.2015
comment
Для этого мне нужно приложение Kivy Launcher и SD-карта, верно?   -  person dan-klasson    schedule 17.06.2015
comment
Нет! для этого вам не нужно приложение kivy launcher или SD-карта :) .. пройдите через этот файл gist для полной процедуры. gist.github.com/kiok46/06add5048882e6504895   -  person kiok46    schedule 17.06.2015
comment
Спасибо, это было действительно полезно. Оказывается, библиотека действительно уже была включена. Итак, ответ на вопрос: все, что мне нужно сделать, это поместить папку SDK в папку моего проекта. Не стесняйтесь отвечать, и я приму это.   -  person dan-klasson    schedule 17.06.2015
comment
Небольшое замечание: как только приложение будет установлено на рассматриваемом устройстве, вы можете просто ввести в консоли adb logcat ›log.txt и сразу же запустить приложение на устройстве, вместо того, чтобы создавать заново каждый раз при запуске logcat ( если, конечно, вы не изменили приложение). Затем ctrl + c, чтобы остановить logcat, когда вы закончите.   -  person Totem    schedule 18.06.2015


Ответы (1)


Хорошо! вы уже догадались, что поместите папку SDK в папку вашего проекта.

Я пишу этот ответ, чтобы помочь кому-то в будущем. :)

Всякий раз, когда вы развертываете приложение на своем устройстве, использовать журналы всегда просто и полезно.

Даже если вы хотите видеть операторы печати в своем приложении, вы всегда найдете полезные журналы.

Итак, вот как вы это делаете.

вам нужно использовать сервер adb.

  1. Подключите свой Android к ноутбуку / ПК.

  2. Добрался до параметров разработчика и включил параметры бодрствования и отладки по USB.

  3. В вашем терминале введите sudo adb-kill server, затем sudo adb-start server.

  4. Введите adb devices (это должен дать список подключенных устройств)

Список подключенных устройств

you_device_name устройство

  1. cd в папку, в которой вы сделали свою сборку.
  2. Введите buildozer android debug deploy run logcat > logcat.txt, чтобы сохранить журналы (для всего процесса) в файле logcat.txt в той же папке. пройдите через это и найдите свою ошибку.
  3. Не позволяйте телефону спать (не блокируйте его).

Удачного кодирования :)

person kiok46    schedule 17.06.2015