I am new to kivy and android app development. I made an application that can be used to control the motor operations in iot project. I developed the app using kivy python. I also used the firebase database for data storage and used Pyrebase4 library for connecting my kivy app to firebase database. My app works perfectly while testing in pycharm and then I prepared the apk file of the app using buildozer in google colab. Then, I tested my android app using appetize.io and while running the app it just gets crashed and shows the following logs. Application Logs
FA ( 1879): App measurement initialized, version: 26017
I/FA ( 1879): To enable debug logging run: adb shell setprop log.tag.FA VERBOSE
I/FA ( 1879): To enable faster debug mode event logging run:
I/FA ( 1879): adb shell setprop debug.firebase.analytics.app com.google.android.youtube
I/FA ( 2566): App measurement initialized, version: 25018
I/FA ( 2566): To enable debug logging run: adb shell setprop log.tag.FA VERBOSE
I/FA ( 2566): To enable faster debug mode event logging run:
I/FA ( 2566): adb shell setprop debug.firebase.analytics.app com.google.android.apps.messaging
I/FA-SVC ( 1254): App measurement initialized, version: 201817
I/FA ( 2955): App measurement initialized, version: 25018
I/FA ( 2955): To enable debug logging run: adb shell setprop log.tag.FA VERBOSE
I/FA ( 2955): To enable faster debug mode event logging run:
I/FA ( 2955): adb shell setprop debug.firebase.analytics.app com.google.android.apps.messaging
W/FA ( 2955): Failed to retrieve Firebase Instance Id
W/FA ( 2955): Failed to retrieve Firebase Instance Id
I/FA ( 3026): App measurement initialized, version: 26016
I/FA ( 3026): To enable debug logging run: adb shell setprop log.tag.FA VERBOSE
I/FA ( 3026): To enable faster debug mode event logging run:
I/FA ( 3026): adb shell setprop debug.firebase.analytics.app com.google.android.apps.maps
I/FA ( 1715): App measurement initialized, version: 29009
I/FA ( 1715): To enable debug logging run: adb shell setprop log.tag.FA VERBOSE
I/FA ( 1715): To enable faster debug mode event logging run:
I/FA ( 1715): adb shell setprop debug.firebase.analytics.app com.google.android.googlequicksearchbox
I/FA ( 1715): Tag Manager is not found and thus will not be used
I/FA-SVC ( 1254): Install Referrer Reporter is not available
I/FA ( 3675): App measurement initialized, version: 26017
I/FA ( 3675): To enable debug logging run: adb shell setprop log.tag.FA VERBOSE
I/FA ( 3675): To enable faster debug mode event logging run:
I/FA ( 3675): adb shell setprop debug.firebase.analytics.app com.google.android.youtube
I/FA ( 4013): App measurement initialized, version: 25018
I/FA ( 4013): To enable debug logging run: adb shell setprop log.tag.FA VERBOSE
I/FA ( 4013): To enable faster debug mode event logging run:
I/FA ( 4013): adb shell setprop debug.firebase.analytics.app com.google.android.apps.messaging
W/FA ( 4013): Failed to retrieve Firebase Instance Id
W/FA ( 4013): Failed to retrieve Firebase Instance Id
I/FA ( 4083): App measurement initialized, version: 26016
I/FA ( 4083): To enable debug logging run: adb shell setprop log.tag.FA VERBOSE
I/FA ( 4083): To enable faster debug mode event logging run:
I/FA ( 4083): adb shell setprop debug.firebase.analytics.app com.google.android.apps.maps
I/FA-SVC ( 1195): App measurement initialized, version: 201817
I/FA ( 4731): App measurement initialized, version: 26017
I/FA ( 4731): To enable debug logging run: adb shell setprop log.tag.FA VERBOSE
I/FA ( 4731): To enable faster debug mode event logging run:
I/FA ( 4731): adb shell setprop debug.firebase.analytics.app com.google.android.youtube
W/FA ( 4731): Service connection failed: ryk{statusCode=API_UNAVAILABLE, resolution=null, message=null}
I/FA-SVC ( 5047): App measurement initialized, version: 201817
I/FA ( 4919): App measurement initialized, version: 29009
I/FA ( 4919): To enable debug logging run: adb shell setprop log.tag.FA VERBOSE
I/FA ( 4919): To enable faster debug mode event logging run:
I/FA ( 4919): adb shell setprop debug.firebase.analytics.app com.google.android.googlequicksearchbox
I/FA-SVC ( 5047): Install Referrer Reporter is not available
I/FA-SVC ( 4938): App measurement initialized, version: 201817
W/FA-SVC ( 5047): Storing bundle outside of the max uploading time span. appId, now, timestamp: com.google.android.googlequicksearchbox, 1644491653736, 1636684204012
I/FA ( 6314): App measurement initialized, version: 25018
I/FA ( 6314): To enable debug logging run: adb shell setprop log.tag.FA VERBOSE
I/FA ( 6314): To enable faster debug mode event logging run:
I/FA ( 6314): adb shell setprop debug.firebase.analytics.app com.google.android.apps.messaging
I/FA-SVC ( 5047): Install Referrer Reporter is not available
I/FA ( 6463): App measurement initialized, version: 25018
I/FA ( 6463): To enable debug logging run: adb shell setprop log.tag.FA VERBOSE
I/FA ( 6463): To enable faster debug mode event logging run:
I/FA ( 6463): adb shell setprop debug.firebase.analytics.app com.google.android.apps.messaging
W/FA ( 6463): Failed to retrieve Firebase Instance Id
W/FA ( 6463): Failed to retrieve Firebase Instance Id
W/FA-SVC ( 5047): Storing bundle outside of the max uploading time span. appId, now, timestamp: com.google.android.apps.messaging, 1644491696951, 1620436547162
My main program showing different libraries imported #main program part
from kivy.app import App
from kivy.uix.floatlayout import FloatLayout
from kivy.app import App
from kivy.properties import ObjectProperty, StringProperty
import pyrebase
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy.core.window import Window
from kivy.uix.popup import Popup
from kivy.clock import Clock
I have researched on this problem for about three days now. And I found out that such application crashes can be caused due to missing libraries in the "requirement=" of the buildozer.spec file. And i throughly gathered all the information about the library used in program and finally specified the requirement as shown below. But still i couldn't solve the problem of application crash. As there is no "Module not found" type error in logs I guess the specified requirements are enough. Then, Where the problem is coming from. i couldn't figured it out. If you have any idea please help me through this i will be very grateful for that. Thanks in advance
PORTION OF BUILDOZER.SPEC FILE
# (str) Title of your application
title = My Application
# (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 (let empty to include all the files)
source.include_exts = py,png,jpg,kv,atlas
# (list) List of inclusions using pattern matching
#source.include_patterns = assets/*,images/*.png
# (list) Source files to exclude (let empty to not exclude anything)
#source.exclude_exts = spec
# (list) List of directory to exclude (let empty to not exclude anything)
#source.exclude_dirs = tests, bin
# (list) List of exclusions using pattern matching
#source.exclude_patterns = license,images/*/*.jpg
# (str) Application versioning (method 1)
version = 0.1
# (str) Application versioning (method 2)
# version.regex = __version__ = ['"](.*)['"]
# version.filename = %(source.dir)s/main.py
# (list) Application requirements
# comma separated e.g. requirements = sqlite3,kivy
**
requirements = python3==3.10.2,kivy==2.0.0,charset-normalizer,Pygments,pyrebase4,certifi,geocoder,email-validator,requests,urllib3,chardet,idna,ratelim,decorator,click,dnspython,pillow,oauth2client,httplib2,pyparsing,pyasn1,pyasn1_modules,virtualenv,six,sh,rsa,requests-toolbelt,python-jwt==2.0.1,pygments,pycryptodome,ptyprocess,protobuf==3.19.4,platformdirs,pexpect,kivy-garden.mapview,kivy-garden,jws,googleapis-common-protos,gcloud,future,filelock,docutils,distlib,backports.entry-points-selectable,jwcrypto,cryptography,Deprecated,wrapt,setuptool,wheel
# (str) Custom source folders for requirements
# Sets custom source for any requirements with recipes
# requirements.source.kivy = ../../kivy
# (list) Garden requirements
#garden_requirements =
# (str) Presplash of the application
#presplash.filename = %(source.dir)s/data/presplash.png
# (str) Icon of the application
#icon.filename = %(source.dir)s/data/icon.png**
# (str) Supported orientation (one of landscape, sensorLandscape, portrait or all)
orientation = portrait
# (list) List of service to declare
#services = NAME:ENTRYPOINT_TO_PY,NAME2:ENTRYPOINT2_TO_PY
#
# OSX Specific
#
#
# author = © Copyright Info
# change the major version of python used by the app
osx.python_version = 3
# Kivy version to use
osx.kivy_version = 1.9.1
#
# Android specific
#
# (bool) Indicate if the application should be fullscreen or not
fullscreen = 0
# (string) Presplash background color (for new android toolchain)
# Supported formats are: #RRGGBB #AARRGGBB or one of the following names:
# red, blue, green, black, white, gray, cyan, magenta, yellow, lightgray,
# darkgray, grey, lightgrey, darkgrey, aqua, fuchsia, lime, maroon, navy,
# olive, purple, silver, teal.
#android.presplash_color = #FFFFFF
# (list) Permissions
#android.permissions = INTERNET
# (int) Target Android API, should be as high as possible.
#android.api = 27
# (int) Minimum API your APK will support.
#android.minapi = 21
# (int) Android SDK version to use
#android.sdk = 20
# (str) Android NDK version to use
#android.ndk = 19b