Android buildozer apk不';t加载GIF(作为zip文件中的jpg)

Android buildozer apk不';t加载GIF(作为zip文件中的jpg),android,python-2.7,zip,kivy,buildozer,Android,Python 2.7,Zip,Kivy,Buildozer,这是我的第一款kivy应用程序。它根据日期显示不同的图像。我的应用程序在windows上运行得很好,但在buildozer apk中,GIF(如zip文件中的jpg)被白色方块取代。kivy发射器也有同样的问题。 在source.include_exts中添加了zip格式,并在buildozer.spec中添加了pil要求,但似乎没有任何效果。拉链的路径是正确的(事实上,它们显示在电脑上)。 我的应用程序代码: # coding=utf-8 from kivy.app import App fr

这是我的第一款kivy应用程序。它根据日期显示不同的图像。我的应用程序在windows上运行得很好,但在buildozer apk中,GIF(如zip文件中的jpg)被白色方块取代。kivy发射器也有同样的问题。 在source.include_exts中添加了zip格式,并在buildozer.spec中添加了pil要求,但似乎没有任何效果。拉链的路径是正确的(事实上,它们显示在电脑上)。 我的应用程序代码:

# coding=utf-8
from kivy.app import App
from random import random, randint,choice
from kivy.uix.widget import Widget
from kivy.uix.button import Button
from kivy.graphics import Color, Rectangle
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.behaviors import ButtonBehavior
from kivy.uix.screenmanager import ScreenManager, Screen, FadeTransition
import datetime
from kivy.uix.label import Label
from kivy.uix.popup import Popup
from kivy.uix.image import Image

class MyButton(ButtonBehavior, Image):
    def __init__(self, **kwargs):
        super(MyButton, self).__init__(**kwargs)
        self.source = 'butto.png'
        self.size_hint = (0.3, 0.3)
    def on_press(self):
        self.source = 'pressed.png'
    def on_release(self,*args):
        self.source = 'butto.png'

class exitt(ButtonBehavior, Image):
    def __init__(self, **kwargs):
        super(exitt, self).__init__(**kwargs)
        self.source = 'exit.png'
    def on_press(self):
        self.source = 'bluext.png'
    def on_release(self,*args):
        self.source = 'exit.png'

class killbtn(ButtonBehavior, Image):
    def __init__(self, **kwargs):
        super(killbtn, self).__init__(**kwargs)
        self.source = 'killbtn.zip'
    def on_release(self,*args):
        self.source = 'killbtn.zip'



class ScreenOne(Screen):

    def __init__ (self,**kwargs):
        super (ScreenOne, self).__init__(**kwargs)
        my_box1 = FloatLayout()
        bubine = ['a','b']
        frasi=['a','b']
        bubilist= choice(bubine)
        buongglist=choice(frasi)
        my_label1 = Label(text="[color=ff3333]%s, %s![/color]" %(buongglist,bubilist),size_hint_y= .9, text_size=(330, None),halign= 'center', height=self.size[1],line_wrap=True, font_size='24dp', markup= True,pos_hint= {'center_x':.5, 'center_y':.77})
        my_button1=MyButton()
        my_button1.size_hint=(.6, .35)
        my_button1.pos_hint= {'center_x':.5, 'center_y':.3}
        my_button1.bind(on_release=self.changer)
        my_box1.add_widget(my_label1)
        my_box1.add_widget(my_button1)
        self.add_widget(my_box1)
        with self.canvas.before:
            Color(.5, .5, .9, 1)
            self.rect = Rectangle(pos=self.pos, size=self.size)
        self.bind(size=self.update_rect)
    def update_rect(self, instance, value):
        self.rect.pos = self.pos
        self.rect.size = self.size
    def my_callback(self,dt):
        App.get_running_app().stop()
    def changer(self,*args):
        legg=open('gg.txt', 'r')
        ultimogg=legg.readline()
        legg.close()
        oggi=datetime.datetime.now().strftime('%d')
        if ultimogg==oggi:
            kill= killbtn()
            kill.bind(on_press=self.uccidi)
            popup = Popup(title='Kill.',content=kill,size_hint=(.75,.75))
            popup.bind(on_dismiss=self.my_callback)
            popup.open()
        else:
            self.manager.current = 'screen3'
    def uccidi(self,*args):
        zipcaso=randint(1001,1013)
        load_zipped_png_files = Image(source = 'GIFS/%s.zip'% zipcaso,anim_loop=1,anim_delay = 0.1,keep_ratio = False,keep_data = True,size_hint=(1,1))
        popup = Popup(title='Cosi impara.',content=load_zipped_png_files,size_hint=(.75,.75))
        popup.bind(on_dismiss=self.my_callback)
        popup.open()


class ScreenThree(Screen):
    def __init__(self,**kwargs):
        super (ScreenThree,self).__init__(**kwargs)
        my_box1 = FloatLayout()
        oggi=datetime.datetime.now().strftime('%d')
        if oggi=='23'or oggi=='14'or oggi=='26' or oggi=='01':
            mese=datetime.datetime.now().strftime('%m')
            if  oggi=='23' and mese=='07':
                numoggi = 'luglio'
            elif  oggi=='14'and mese=='02':
                popup = Popup(title='Buon',content=Label(text='Hello world'),size_hint=(.75,.75))
                popup.open()
                numoggi = 'febbraio'
            elif oggi=='26' and mese=='08':
                numoggi = 'agosto'
            elif oggi=='01' and mese=='01':
                numoggi = 'gennaio'
        else:
            legg=open('numimg.txt', 'r')
            ultimogg=legg.readline()
            legg.close()
            if ultimogg=='1004':
                numoggi=1001
            else:
                numoggi=int(ultimogg)+1
            file = open('numimg.txt','w') 
            file.seek(0)
            file.write(str(numoggi)) 
            file.close()
        file = open('gg.txt','w') 
        file.seek(0)
        file.write(oggi) 
        file.close()
        if numoggi>1019:
            miraglio = Image(source = 'IMMAGO/%s.zip'% numoggi,keep_ratio = False,keep_data = True,size_hint=(1,1))
        else:
            miraglio = Image(source = 'IMMAGO/%s.jpg'% numoggi,keep_ratio = False,keep_data = True,size_hint=(1,1))
        my_button1 = exitt()
        my_button1.size_hint = (0.075, 0.075)
        my_button1.pos_hint= {'right': .97,'top':.97}
        my_button1.bind(on_release=self.changer)
        my_box1.add_widget(miraglio)
        my_box1.add_widget(my_button1)
        self.add_widget(my_box1)
    def changer(self,*args):
        App.get_running_app().stop()



class TestApp(App):
    def build(self):
        self.icon = 'icona.png'
        my_screenmanager = ScreenManager()
        my_screenmanager= ScreenManager(transition=FadeTransition())
        screen1 = ScreenOne(name='screen1')
        screen3 = ScreenThree(name='screen3')
        my_screenmanager.add_widget(screen1)
        my_screenmanager.add_widget(screen3)
        return my_screenmanager

if __name__ == '__main__':
    TestApp().run()
Logcat报告此错误:
I/python(24189):[ERROR][Image]加载纹理killbtn.zip时出错

我错过了什么?无论如何谢谢你

我以前也经历过同样的问题。尝试将fps降低到30以下。此外,减少总帧数可能会有所帮助。你试过使用不同的gif文件吗?我以前也遇到过同样的问题。尝试将fps降低到30以下。此外,减少总帧数可能会有所帮助。你试过使用不同的gif文件吗?