Kivy ve Android ile başladım, bir cihaz yapmaya başladım, cihaz sensörleri erişmek için de plyer kullanarak bir uygulama yapmaya çalışıyorum.Kivy Android APK, telefon açıldığında çöküyor
- Kivy:
ile çalışıyorum 1.9.1
- Buildozer: 0.32dev
- SO (masaüstü): Ubuntu 14.04 LTS
- SO Android: Zefir 6.0
Aşağıdaki kodu web eğitiminden aldım:
#-*-coding:utf8;-*-
#qpy:2
#qpy:kivy
from kivy.app import App
from kivy.uix.label import Label
from kivy.uix.floatlayout import FloatLayout
from plyer import accelerometer
from kivy.clock import Clock
class UI(FloatLayout):
def __init__(self, **kwargs):
super(UI, self).__init__(**kwargs)
self.lblAcce = Label(text="Accelerometer: ") #create a label at the center
self.add_widget(self.lblAcce) #add the label at the screen
try:
accelerometer.enable() #enable the accelerometer
Clock.schedule_interval(self.update, 1.0/24) #24 calls per second
except:
self.lblAcce.text = "Fallo al iniciar el acelerometro" #error
def update(self, dt):
txt = ""
try:
txt = "Aceleracion: \nX = %.2f\nY = %.2f\nZ = %2.f " %(
accelerometer.acceleration[0], #read the X value
accelerometer.acceleration[1], # Y
accelerometer.acceleration[2]) # Z
except:
txt = "No se puede leer el acelerometro!" #error
self.lblAcce.text = txt #add the correct text
class TestApp(App):
def build(self):
# display a button with the text : Hello QPython
usi = UI()
return usi
if __name__== '__main__':
TestApp().run()
ve bu buildozer.spec dosya ile APK kurmak (yorumladı blokları çıkardı):
[app]
# (str) Title of your application
title = Acelerometro 1
# (str) Package name
package.name = acc1
# (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 (let empty to include all the files)
source.include_exts = py,png,jpg,kv,atlas
# (str) Application versioning (method 1)
version = 1.0
# (list) Application requirements
# comma seperated e.g. requirements = sqlite3,kivy
requirements = kivy, plyer
# (str) Supported orientation (one of landscape, portrait or all)
orientation = all
# (bool) Indicate if the application should be fullscreen or not
fullscreen = 1
[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
Ben
android.permissions
kurmayı unuttuğu ama bu konuda hiçbir sorun vardı. Sorun şu ki (çevirerek) telefonu (dikeyden yatayya) çevirdiğimde uygulama çöküyor. Ben googled, ama cevabı bulamadım. Herhangi bir fikir?
Teşekkür ederiz!
Ayarlamayı deneyin android.minapi = 13' – jligeza
"Buildozer android run logcat" ı çalıştırmalısınız (veya yeni toolchain kullanıyorsanız, 'buildozer android_new run logcat') ve çıkışınızın ilgili bölümünü uygulama kilitleniyor. –
@jligeza işe yaradı! teşekkür ederim! SO noktasını kendiniz almak isteyebilirsiniz ve bu da olması gereken şeydir, bu yüzden devam edin ve isterseniz cevabı gönderin. =) –