Хочу из APK приложения отправить UDP пакет, но бульдозер против. Если просто молча в код импортировать socket, работать не будет, приложение будет вылетать. Работать с HTTP можно, а с протокола нельзя?
Вот что не я пробовал и это не работает;
requirements = socket
Компиляция с помощью Cython
client.cpython-38.so
Использовал язык C, запускал внутри питона.
Залезал в kivy.network писал дополнительную библиотеку.
Попробовал scapy.all
Вот человек с такой же проблемой, задавал вопрос на githube
https://github.com/kivy/buildozer/issues/1121
Интересно, а импортировать aiohttp тоже нельзя?) Как то тупо получается что socket нельзя импортировать в проект kivy.
import socket
from kivymd.app import MDApp
from kivy.lang import Builder
from kivy.uix.button import Button
class Send_UDP():
def __init__(self, host='192.168.12.1', port=787):
self.host = host
self.port = port
self.server = (self.host, self.port)
self.sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
def send(self, packet):
self.sock.sendto(packet.encode("UTF-8"), self.server)
se=Send_UDP()
class Test(MDApp):
def build(self):
se.send('test packet')
button = Button(text='Hello world', font_size=14)
return button
Test().run()
Компил: buildozer android debug deploy run