Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 12, 2023 09:16:30

FarshikARC
Зарегистрирован: 2023-10-12
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

Черный экран после компиляции в apk Python kivy buildozer

Суть на пк скрипты запускаются отлично, и на винде и на линуксе. Но запакованный в apk файил после установки и заспуска выдает тупо чемрный экран и больше ничего.
Код написан только частично, и пока делает только малую часть того что запланировано. Но так как я не разу не упаковывал py в apk, решил попробовать заранее и видимо не зря.
Собственно main.py:

[code python]from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.gridlayout import GridLayout
from kivy.uix.button import Button
from kivy.uix.widget import Widget
from kivy.uix.label import Label
from kivy.uix.textinput import TextInput
from kivy.uix.scrollview import ScrollView
import warnings
import string
from kivy.base import runTouchApp
from kivy.lang import Builder
from kivy.properties import ObjectProperty

z = []

class Container (GridLayout):

kukumber = ObjectProperty()
label_kukumber = ObjectProperty()

def uhu_text(self):
self.kukumber.text = ''
with open('pass.ddg', 'r') as pass_list:
ss = pass_list.readlines()
for i in range(len(ss)):
z.append(ss[i])

r = ' '.join(z)
#print(r)
self.label_kukumber.text = r
self.kukumber.text = ''

def add_pass(self):
if self.kukumber.text == '':
self.label_kukumber.text='Введите текст!'
else:
with open('pass.ddg', 'a+') as pass_list:
new_pass = self.kukumber.text
pass_list.seek(0.2) # перемещение курсора в конец файла
pass_list.write('\n ================== \n'+new_pass)
pass_list.close()
print(self.kukumber.text)
self.label_kukumber.text='Обновите экран'


class MyApp(App):
def build(self):

return Container()

if __name__ == '__main__':
MyApp().run()
[/code]
My.kv:
[code python]
<Container>:
rows:4
padding: 50

kukumber: text_input
label_kukumber: label

TextInput:
id: text_input
# size_hint: 1, 0.5
multiline: True
size_hint: 1,0.20
ScrollView:
do_scroll_x: False
do_scroll_y: True
Label:
id: label
text: 'sometext3543534534534535354345345'
size_hint_y: None
height: self.texture_size[1]
text_size: self.width - dp(10), None
#color: 0, 0, 0, 1

BoxLayout:
size_hint: 1,0.1
# anchor_x: 'left'
anchor_y: 'top'
Button:
# pos: 10, 100
# size: 200, 50
# size_hint: None, None
text: 'показать'
text_zize: 20
# size_hint_x: .1
# size_hint_y: None
#font_size: 40
on_release:
self.text = 'обновить'
root.uhu_text()


Button:
# pos: 10, 100
# size: 200, 30
# size_hint: None, None
text: 'добавить'
text_zize: 20
# size_hint_x: .1

#font_size: 40
on_release:
root.add_pass()[/code]

buildozer.spec
[app]

# (str) Title of your application
title = MyApp

# (str) Package name
package.name = myapp

# (str) Package domain (needed for android/ios packaging)
package.domain = org.test

# (str) Source code where the main.py live
source.dir = .

# (list) Source files to include (leave empty to include all the files)
source.include_exts = py,png,jpg,kv,atlas,ddg

version = 0.1


requirements = python3,kivy,android


orientation = portrait


osx.kivy_version = 2.2.0

fullscreen = 0

android.archs = arm64-v8a, armeabi-v7a

android.allow_backup = True



mage_url =


[buildozer]

# (int) Log level (0 = error only, 1 = info, 2 = debug (with command output))
log_level = 2

# (int) Display warning if buildozer is run as root (0 = False, 1 = True)
warn_on_root = 1

# (str) Path to build artifact storage, absolute or relative to spec file
# build_dir = ./.buildozer

# (str) Path to build output (i.e. .apk, .aab, .ipa) storage
# bin_dir = ./bin
Упаковалось все вроде без ошибок. Куда копать куда смотреть, что я делаю не так?

Офлайн

#2 Окт. 13, 2023 08:58:13

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

Черный экран после компиляции в apk Python kivy buildozer


Упаковалось все вроде без ошибок. Куда копать куда смотреть, что я делаю не так?
Вы пытаетесь писать приложение под ведро на python

Даже в рамках данного ресурса можно сделать поиск по слову киви и обнаружить несчетное количество постов с вашей проблемой и рассуждениями почему этого делать не стоит.
Если сухо:
Писать апки под ведро надо на ведре.
Как минимум - нужно зайти в ведро по ADB и запустить апку из консоли на предмет вывода ошибок(и добавить в код принтов что бы понять где вешается - если оно вобще запускается)



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#3 Окт. 13, 2023 13:09:31

FarshikARC
Зарегистрирован: 2023-10-12
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

Черный экран после компиляции в apk Python kivy buildozer

ZerG
рассуждениями почему этого делать не стоит.
Ответ более чем устраивает. Яж новичок в этом деле. И не натыкался на посты почему этого делать не стоит. Но теперь видимо придется смотреть в другую сторону. Везде на оборот инструкции упаковки на линуксе buildozer'ом. Блин софтина то простая, думал быстренько накидаю и збс. Ладно благодарю за ответ.

Отредактировано FarshikARC (Окт. 13, 2023 13:10:11)

Офлайн

#4 Окт. 14, 2023 02:00:22

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9844
Репутация: +  853  -
Профиль   Отправить e-mail  

Черный экран после компиляции в apk Python kivy buildozer

FarshikARC
Везде на оборот инструкции упаковки на линуксе buildozer'ом. Блин софтина то простая, думал быстренько накидаю и збс.
Не, она простая для тех, кто уже умеет делать приложения по-нормальному - на Java или Kotlin. А так ты её просто не можешь разобрать и посмотреть, что же там внутри этого apk-файла неправильно в итоге после Бульдозера.



Офлайн

#5 Окт. 14, 2023 09:21:40

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

Черный экран после компиляции в apk Python kivy buildozer

FarshikARC
Бульдозер - это только вершина айсберга
Кроме того что бы нарисовать итерфейс нужно еще взаимодействие с устройством и тут питон негодится совершенно
То есть писать кросс для винды - линукса мака на питоне - очень даже можно
Но девелопить под ведро отнюдь и увы
Там даже на родном джава и котлине полная анархия



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#6 Окт. 16, 2023 07:50:10

FarshikARC
Зарегистрирован: 2023-10-12
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

Черный экран после компиляции в apk Python kivy buildozer

ЗерГ
А теперь еще больше понял. Блин какие тут хорошие люди на форуме, надо почаще заглядывать.
Получается что питон по сути выступает в роли посредника для кроссплатформенности. Как универсальный язык, но слегка не полноценный. Ладно я его все равно подучил для небольших скриптов и серверов на линуксе, в основном что бы с контроллерами всякими по сети взаимодействовать.
Пойду учить Котлайн. Ява мне показалась более сложным для таких задач (Возможно в связи с отсутствием опыта). Может что и получится)))) Спасибо вам друзья.

Офлайн

#7 Окт. 17, 2023 03:46:16

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9844
Репутация: +  853  -
Профиль   Отправить e-mail  

Черный экран после компиляции в apk Python kivy buildozer

FarshikARC
Пойду учить Котлайн. Ява мне показалась более сложным для таких задач
С Котлином тебя ждёт то же самое разочарование. Он нигде не применяется, кроме как для Андроида. Может быть, он выживет и останется в истории, но это пока неточно, потому что у него сообщество слабое. Другое дело Java, который уже не исчезнет никуда точно и останется в истории, и питон тот же, который никому уже не принадлежит, даже создатель уже на него не влияет особо, он отдельно живёт уже от создателя в сообществе.

Просто у Котлина задача была в чём? В том, чтобы язык хороший сделать ещё один? Не, это просто нужно было разрекламировать своего создателя через Андроид и повлиять на его личное благосостояние. Сейчас у них такой бзик. Вот он нажрётся, как Цукерберг какой-нибудь, и эта вся фигня встанет в своём развитии. Тот тоже начинал типа там “да я для общества что-то там хочу сделать, для дальтоников” и чем это закончилось? Мальчик нажрался и эта хрень вся превратилась в какой-то концлагерь для овечек, неграми никого не называй, палестинские миллионные аккаунты он удалил и так далее. Это вот говорит о том, какая у него цель была. Что это всё балабольство - про общение людей во всём мире там, про дружбу, жвачку и тп.

Так что смотри сам, Kotlin - это вот такая вот фигня. Ты на него зайдёшь, всё изучишь, а он тебе скажет “а я больше не буду ничего делать”.



Отредактировано py.user.next (Окт. 17, 2023 03:47:06)

Офлайн

#8 Окт. 17, 2023 12:25:34

FarshikARC
Зарегистрирован: 2023-10-12
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

Черный экран после компиляции в apk Python kivy buildozer

py.user.next
Да это я уже понял как начал про него смотреть инфу. Но проблема в том что я сам не кодер, я сисадмин. И яву мне под “старость лет” уже трудновато осиливать, точнее ту ее часть что связана с графическим интерфейсом, котлин в этом плане вроде как более понятен. Написать без графического интерфейса не проблема, делал интересные вещи. Такие как “светофор” менеджерам, висящий на стене и загорающийся когда приходили письма на почту от определенных людей. По этому C, C++, python я еще могу набросать что то, немного косо, криво, но работает как надо. (Надеюсь ни кто ни когда не будет читать мой код хД). Но тут мне нужно, лично для меня, свое приложение, простенькое по своей сути, но требующее графического интерфейса, для ПК оно уже есть на питоне, но нужно еще на телефон. Именно по этому для меня котлин самый хороший вариант, все таки он проще. Я не собираюсь его потом поддерживать и обновлять, если будет работать, то мне больше от него ни чего и не надо. Не надо выкладывать на плеймаркеты и прочее. Я бы даже готов немного заплатить за такую приложуху. Но я человек дотошный, и мне надо что бы было так как мне надо. А с таким как я за “Немного” работать не будут , только за “Много”. хД… Так что котлин для меня пока самое то.

Офлайн

#9 Окт. 17, 2023 13:09:04

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

Черный экран после компиляции в apk Python kivy buildozer

Вопрос интересный на самом деле
Если тебе ненужны пуши то смысла в приложении нет - почему бы не заюзать вебинтефейс? Будет одинаково для всех сразу

Если же задача простая - телерам бот какойнить тоже решение

Я к тому - стоит ли тратить время на изучения котлина ради приложухи в три светодиода?



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#10 Окт. 18, 2023 03:26:20

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9844
Репутация: +  853  -
Профиль   Отправить e-mail  

Черный экран после компиляции в apk Python kivy buildozer

FarshikARC
Такие как “светофор” менеджерам, висящий на стене и загорающийся когда приходили письма на почту от определенных людей. По этому C, C++, python я еще могу набросать что то, немного косо, криво, но работает как надо.
Да неважно, какая программа, главное, что ты её писал и написал и она работала. То есть ты её сделал из пустоты. Если ты делаешь из пустоты программы, значит ты программист. Просто есть дохера “программистов”, которые только вот всё изучают, но у них ни одной программы нет. И так двадцать лет проходит, а у них как не было программ, так и нет программ. Ты его спрашиваешь “а что ты написал? покажи, интересно!”, а он такой “так я вот там работал, вот там я работал”. Какая разница, где ты там работал, мне это вообще похеру, если ты нихера не написал, какой ты программист тогда?! Это как повар, который шеф-повар на все руки, который просит тебя картошку пожарить ему, потому что он уже не ел неделю, а сам он жарить не умеет её, потому что она там потом скрипит на зубах, из-за того что в ней грязь. Ты знаешь, сколько таких вокруг? Почему и нет нихера в стране, вот такие “программисты” там программируют, работнички за зарплату. А вся суть сводится к тому, чтобы где-то закупить, а потом наклейку переклеить и за своё выдать, чужую работу.

Так что для смартфонов бери то, что для них родное. Если ты изучал C и C++, и даже если ты их различаешь между собой и знаешь, что это два абсолютно разных языка, то конструкции из Java для тебя будут родными. Потому что этот Kotlin, он какой-то паскалевидный. Что было в Pascal'е? В Pascal'е всё за тебя делалось. Потом паскалист садится за каую-то фигню современную и сделать ничего не может, потому что язык за него сопли не подтирает, как это было раньше. Поэтому очень часто они остаются на Паскале, ну переходят на Delphi, типа он современнее. И вот мозги у них вот так и остаются, развитыми таким образом, что они от языка ожидают, что тот сам всё посчитает за них, что там всё само сделается. Это психология. Почему им на C++ тяжело переходить? да потому что это неудобно, там надо будет всё самому делать, а он к этому не привык.

Вот хочешь программировать - тебе нужны языки инженеров. Это C, C++, Assembly. Ну Java произошёл от них, поэтому там конструктивно примерно такой дух есть. Но он, конечно, заточен изначально под объектно-ориентированное программирование. Да, надо понимать в нём, что такое полиморфизм, зачем это надо, а почему тут надо применять что-то, а там не надо применять что-то, хоть и можно применить. ООП - это очень сложная вещь. Ты её не выучишь за месяц, как там это распространяется сегодня всякими говношколами и говнокурсами, что любой школьник может его выучить, - это всё туфта. Это не про ООП речь вообще, это про кусочек от ООП, причём маленький кусочек, который ничего не решает вообще.

Так что Kotlin, ну ты ищешь в нём спасение, а он тебя заведёт в ловушку. Ну потеряешь время, да. Это твой риск.



Отредактировано py.user.next (Окт. 18, 2023 09:51:21)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version