для других людей, у которых может быть такая же проблема, я поместил здесь все, что я сделал, чтобы устранить ошибку.Хорошо, во-первых, это была ошибка, из-за которой файл buildozer.spec по какой-то причине не обновлял файлы p4a должным образом, а также была ошибка с используемой версией ndk.Сначала я скачал версию NDK r17c.Я пошел по пути /home/dev/.buildozer/android/platform/
и распаковал скачанный файл.Затем в пути /home/dev/buildozer/buildozer/default.spec
я изменил ветку, используемую в p4a для мастера, и это выглядело так: # p4a.branch = master
Я также изменил следующие строки:
# (int) Android API to use
# android.api = 21
# (int) Minimum API required. You will need to set the android.ndk.api to be as low as this value.
# android.minapi = 21
# (int) Android SDK version to use
# android.sdk = 20
# (str) Android NDK version to use
# android.ndk = r17c
# (int) Android NDK API to use (optional). This is the minimum API your app will support.
# android.ndk_api = 19
Хорошо, что изначально ничего не изменило в способе строительства и продолжало ошибаться.Поэтому я пошел по пути / home / dev / buildozer / buildozer / targets /
и в файле android.py
я изменил строки 17, 18 и 20 таким образом:
ANDROID_API = '21' #line 17
ANDROID_MINAPI = '21' #line 18
ANDROID_SDK_VERSION = '20'
ANDROID_NDK_VERSION = '17c' #line 20
APACHE_ANT_VERSION = '1.9.4'
в этом же файле, в классе TargetAndroid
я изменил строки 46(старое имя python-for-android-new-version) и 47 класс выглядит следующим образом:
class TargetAndroid (Target):
targetname = 'android_old'
p4a_directory = "python-for-android" #line 46
p4a_branch = 'master' #line 47
p4a_apk_cmd = "python build.py"
Хорошо, по этому же пути есть файл с именем android_new.py
, в TargetAndroidNew
класс я изменил строки 16 и 17, класс выглядит следующим образом:
class TargetAndroidNew (TargetAndroid):
targetname = 'android'
p4a_branch = "master" #line 16
p4a_directory = "python-for-android" #line 17
p4a_apk_cmd = "apk --debug --bootstrap ="
extra_p4a_args = ''
Хорошо, это должно уже работать, но по какой-то причине есть другой путь с почти такими же файлами, поэтому я сделалтакие же изменения.Нет пути /home/dev/buildozer/build/lib.linux-x86_64-2.7/buildozer/
Я изменил файл default.spec
, как и ранее.И по пути /home/dev/buildozer/build/lib.linux-x86_64-2.7/buildozer/targets/
я изменил файлы android.py
и android_new.py
так же, как и раньше.Теперь buildozer выполняет правильное обновление p4a и ndk и работает правильно.