2016-04-09 39 views
1

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!

+0

Ayarlamayı deneyin android.minapi = 13' – jligeza

+0

"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. –

+0

@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. =) –

cevap

2

Muhtemelen bir hata, android.minapi = 13 veya üstü ayarlayın.