You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
So I am trying to use pyrebase in a kivy project. My apk keeps crashing. The errors are all regarding import of modules like gcloud, oauth2client, .... (it is a long list). I kept fixing them one by one by including these modules under 'requirements' in my buildozer.spec. This is what it looks right now:
but my apk still crashes with the error:
ModuleNotFoundError: No module named 'google.protobuf'
I have included protobuf in the requirements, but that is not helping. How do I fix this? Can you also give me a list of these dependencies that pyrebase requires?
I tried all day yesterday to solve this and think I have a solution, at least a temporary workaround:
the broken import can be found in
::project dir::/.buildozer/android/platform/build-arm64-v8a/build/python-installs/::app name::/gcloud/_helpers.py (or some variation of this path depending on your build) - you can get the exact path from the log.
edit the file (nano or subl whatever)
remove the import (around line 28) and also remove (or comment out) the function referencing google.protobuf (~ line 500):
def _datetime_to_pb_timestamp(when):
"""Convert a datetime object to a Timestamp protobuf.
:type when: :class:`datetime.datetime`
:param when: the datetime to convert
:rtype: :class:`google.protobuf.timestamp_pb2.Timestamp`
:returns: A timestamp protobuf corresponding to the object.
"""
ms_value = _microseconds_from_datetime(when)
seconds, micros = divmod(ms_value, 10**6)
nanos = micros * 10**3
return timestamp_pb2.Timestamp(seconds=seconds, nanos=nanos)
I tried changing the import to just protobuf but no luck :(
also had to add this to the code to my main.py when came up against an ssl error:
Need to try and get to the bottom of why that was needed. Obviously it can't be ideal to just remove a method and I didn't have time to fully check if that method is used, but couldn't see if anything was obvious, but so far I can run my app and interact with Firebase storage without errors!
Oh yeah, a ton of extra requirements needed in buildozer.spec after getting past google.protobuf:
Most of them relate to pyrebase.. the "pycryptodome" one is for missing module "Crypto". Always double check on pypi for the correct pip install instruction if unsure.
Hey! Iam using firebase_admin in my project and had the same error. I did what nihilok did but then ran into google-auth error. Seems alot fo people have the same issue.
@aidingh same here, i am also using firebase_admin and my app just crash from the start, if you got anything please mail me to----->aqeglipambuya@gmail.com
Hey! We were using Firebase_admin and Pyrebase and we actually did spend a whole week trying to get it to work. I actually checked the code for Pyrebase and took out the essential code from it and made email verification to work. I can tell you how if you want. To be frank we skipped Firestore database completly and went for a real time database. The real time database in Firebase that is. Its as good if you ask me and suits Python fine. If you need more help I can surely help you. But we did skip firestore with firebase_admin all togheter.
// Aidin
________________________________
Från: aqulline <notifications@github.com>
Skickat: den 10 december 2020 10:13
Till: thisbejim/Pyrebase <Pyrebase@noreply.github.com>
Kopia: aidingh <Aidingh@hotmail.com>; Mention <mention@noreply.github.com>
Ämne: Re: [thisbejim/Pyrebase] Error when used with kivy in an apk (#344)
@aidingh<https://github.com/aidingh> same here, i am also using firebase_admin and my app just crash from the start, if you got anything please mail me to----->aqeglipambuya@gmail.com<mailto:aqeglipambuya@gmail.com>
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub<#344 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AEXAHH6PJQZHWWWBVIO6CSTSUCGLJANCNFSM4MZN573A>.
Hey! We were using Firebase_admin and Pyrebase and we actually did spend a whole week trying to get it to work. I actually checked the code for Pyrebase and took out the essential code from it and made email verification to work. I can tell you how if you want. To be frank we skipped Firestore database completly and went for a real time database. The real time database in Firebase that is. Its as good if you ask me and suits Python fine. If you need more help I can surely help you. But we did skip firestore with firebase_admin all togheter. // Aidin …
________________________________ Från: aqulline notifications@github.com Skickat: den 10 december 2020 10:13 Till: thisbejim/Pyrebase Pyrebase@noreply.github.com Kopia: aidingh Aidingh@hotmail.com; Mention mention@noreply.github.com Ämne: Re: [thisbejim/Pyrebase] Error when used with kivy in an apk (#344) @aidinghhttps://github.com/aidingh same here, i am also using firebase_admin and my app just crash from the start, if you got anything please mail me to----->aqeglipambuya@gmail.commailto:aqeglipambuya@gmail.com — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub<#344 (comment)>, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AEXAHH6PJQZHWWWBVIO6CSTSUCGLJANCNFSM4MZN573A.
Hey,
I am using Pyrebase (to connect to Firebase real time database) in my Kivy app. Everything is working fine on Desktop but the app crashes on Android. Could you please help me with this issue?
Hey,
I am using Pyrebase (to connect to Firebase real time database) in my Kivy app. Everything is working fine on Desktop but the app crashes on Android. Could you please help me with this issue?
Did you enable internet permissions in buildozer.spec?
Hello, I have also been trying to make a login system for my application , it seems like many are in the same boat as me , it works fine for me on pc but was not able to make a apk with it , it keeps asking for more and more modules . Did anyone implement a working login system in kivy with reset password ? Any other solutions other than firebase?
Ok this worked for me for both pyrebase and firebase admin the missing of
this Google files though we have list them in the requirements so what I
did I went in my environment and I found out that this Google file when we
install them they create a file name Google so the save there things there
so I went in my
.buildozer/Android/platform/build-armeabi-v7a/build/python-installs. And I
found the same folder named Google so what I did I deleted that folder and
copy my folder from my environment in sitepackages and I pasted there and
run buildozer and boom! It worked so try I am 💯 sure it will work
This was actually working before. Nowdays the bulldozer fails if pycryptodome and cryptography are included. If you exclude them, the resulting APK also crashes since these two are necessary. Has anyone found a solution to this?
Sure, i would like to help you. Can we have little meeting if you wan Sent from my iPhoneOn Sep 27, 2023, at 1:02 PM, Zeikov ***@***.***> wrote:
bros i really need the help firebase is not working with all requierments keep crashing on my phone
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: ***@***.***>
Sure, i would like to help you. Can we have little meeting if you wan Sent from my iPhoneOn Sep 27, 2023, at 1:02 PM, Zeikov @.> wrote: bros i really need the help firebase is not working with all requierments keep crashing on my phone —Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.>
I will love that do u speak spanish ? wherever u can bro
Si hablo español hermano. Podemos revisar tu spec y las librerías que estas usando en tu proyecto. Tengo algunas app funcionando sin ningún problema. Tu me avisas.Sent from my iPhoneOn Sep 27, 2023, at 2:57 PM, Zeikov ***@***.***> wrote:
Sure, i would like to help you. Can we have little meeting if you wan Sent from my iPhoneOn Sep 27, 2023, at 1:02 PM, Zeikov @.> wrote: bros i really need the help firebase is not working with all requierments keep crashing on my phone —Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.>
I will love that do u speak spanish ? wherever u can bro
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: ***@***.***>
Si hablo español hermano. Podemos revisar tu spec y las librerías que estas usando en tu proyecto. Tengo algunas app funcionando sin ningún problema. Tu me avisas.Sent from my iPhoneOn Sep 27, 2023, at 2:57 PM, Zeikov @.> wrote: Sure, i would like to help you. Can we have little meeting if you wan Sent from my iPhoneOn Sep 27, 2023, at 1:02 PM, Zeikov @.> wrote: bros i really need the help firebase is not working with all requierments keep crashing on my phone —Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.> I will love that do u speak spanish ? wherever u can bro —Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.>
genial bro, pues yo ya llevo atorado 2 días en este lio yo puedo en las noches que estoy mas libre te dejo mi correo alejandrobargaglipalermo@gmail.com
este es mi spec : y al final te adjunto mis librerías
[app]
(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,db,zip
(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)
For example, you want to deploy a demo version of your application without
HD content. You could first change the title to add "(demo)" in the name
and extend the excluded directories to remove the HD content.
#[app@demo]
#title = My Application (demo)
#[app:source.exclude_patterns@demo]
#images/hd/*
Then, invoke the command line with the "demo" profile:
#buildozer --profile demo android debug
librerías:
import sqlite3
import matplotlib.pyplot as plt
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from pipkivy.uix.label import Label
from kivy.uix.button import Button
from kivy.uix.textinput import TextInput
from kivy.uix.gridlayout import GridLayout
from kivy.uix.scrollview import ScrollView
from kivy.uix.image import Image
from kivy.uix.popup import Popup
import pyrebase
When do you have issueWhen you run the apk or when you are packaging the app??Sent from my iPhoneOn Sep 29, 2023, at 10:42 PM, Zeikov ***@***.***> wrote:
no solution right ?
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: ***@***.***>
When do you have issueWhen you run the apk or when you are packaging the app??Sent from my iPhoneOn Sep 29, 2023, at 10:42 PM, Zeikov @.> wrote: no solution right ? —Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.>
try it
requirements = python3==3.9.7,hostpython3==3.9.7,kivy,kivymd,certifi,pyrebase,urllib3,oauth2client,httplib2,
pyasn1, pyasn1-modules, rsa, six, pyparsing, protobuf_cpp, python-jwt,
pycryptodome, sdl2_ttf == 2.0.15, pillow
let me know if it working for you
El vie, 10 nov 2023 a las 13:55, Siam Rayhan ***@***.***>)
escribió:
line 6, in <module>
I/python ( 7869): File "/github/workspace/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/python-installs/myapp/arm64-v8a/google/protobuf/descriptor.py", line 47, in <module>
I/python ( 7869): ImportError: dlopen failed: cannot locate symbol "__aarch64_ldadd8_relax" referenced by "/data/app/~~_WglylXSqv5T2XOQTUBloQ==/org.test.myapp--h64t4wm8-LCB6O83LFzbQ==/lib/arm64/libprotobuf.so"...
I/python ( 7869): Python for android ended. D/
Activity
Windsurfer0000 commentedon Aug 11, 2020
hey have you found a solution for that ?
daniel-iova commentedon Sep 3, 2020
Did you find a solution ?
DafzNet commentedon Sep 14, 2020
Has anyone found a solution
nihilok commentedon Oct 17, 2020
I tried all day yesterday to solve this and think I have a solution, at least a temporary workaround:
the broken import can be found in
::project dir::/.buildozer/android/platform/build-arm64-v8a/build/python-installs/::app name::/gcloud/_helpers.py (or some variation of this path depending on your build) - you can get the exact path from the log.
edit the file (nano or subl whatever)
remove the import (around line 28) and also remove (or comment out) the function referencing google.protobuf (~ line 500):
I tried changing the import to just protobuf but no luck :(
also had to add this to the code to my main.py when came up against an ssl error:
Need to try and get to the bottom of why that was needed. Obviously it can't be ideal to just remove a method and I didn't have time to fully check if that method is used, but couldn't see if anything was obvious, but so far I can run my app and interact with Firebase storage without errors!
Oh yeah, a ton of extra requirements needed in buildozer.spec after getting past google.protobuf:
requirements = python3,kivy==2.0.0rc1,android,plyer,pyrebase5,cryptography,pycryptodome,python-jwt,jwcrypto,oauth2client,httplib2,pyasn1,pyasn1-modules,rsa,google-cloud,gcloud,google-auth,requests,requests-toolbelt,urllib3,chardet,idna,certifi,PillowMost of them relate to pyrebase.. the "pycryptodome" one is for missing module "Crypto". Always double check on pypi for the correct pip install instruction if unsure.
aidingh commentedon Dec 2, 2020
Hey! Iam using firebase_admin in my project and had the same error. I did what nihilok did but then ran into google-auth error. Seems alot fo people have the same issue.
aqulline commentedon Dec 10, 2020
@aidingh same here, i am also using firebase_admin and my app just crash from the start, if you got anything please mail me to----->aqeglipambuya@gmail.com
aidingh commentedon Dec 10, 2020
cmsharma commentedon Dec 29, 2020
Hey,
I am using Pyrebase (to connect to Firebase real time database) in my Kivy app. Everything is working fine on Desktop but the app crashes on Android. Could you please help me with this issue?
nihilok commentedon Dec 30, 2020
Did you enable internet permissions in buildozer.spec?
cmsharma commentedon Dec 31, 2020
Yeah, Internet permission was enabled!
WithSJ commentedon Mar 18, 2021
i used all this
requirements = python3,
kivy,
kivymd,
sdl2_ttf==2.0.15,
plyer,
requests,
idna,
certifi,
chardet,
urllib3,
firebase_admin,
google-cloud-storage,
google-api-python-client,
google-api-core,
google-cloud-firestore,
cachecontrol,
msgpack,
google-auth,
protobuf,
pytz,
googleapis-common-protos,
grpcio,
httplib2,
uritemplate,
google-auth-httplib2,
rsa,
cachetools,
pyasn1-modules,
proto-plus,
google-cloud-core,
google-resumable-media,
google-crc32c,
cffi,
pycparser,
pyasn1
(list) Permissions
android.permissions = INTERNET
but still get error
03-18 14:43:35.632 1751 17252 I python : ReferenceError: weakly-referenced object no longer exists
CoutinhoElias commentedon May 12, 2021
Problems when using pyrebase with kivy:
I have two theories:
1 - Or these imports are wrong:
a) from pyrebase import pyrebase
b) import pyrebase
I tested both and it only works on the computer.
2 - Or my requirement is incorrect regarding the pyrebase:
requirements = python3, kivy == 2.0.0, https: //github.com/kivymd/KivyMD/archive/master.zip,pygments,sdl2_ttf==2.0.15,pillow, requests, certifi, urllib3, chardet, idna, plyer, peewee, pyrebase
Note: Without pyrebase and commenting on the functions I use pyrebase the system works.
Arjun-nemani commentedon May 26, 2021
Hello, I have also been trying to make a login system for my application , it seems like many are in the same boat as me , it works fine for me on pc but was not able to make a apk with it , it keeps asking for more and more modules . Did anyone implement a working login system in kivy with reset password ? Any other solutions other than firebase?
requirements = hostpython3==3.7.9,python3==3.7.9,kivy,kivymd,pyrebase,requests,urllib3,chardet,idna,gcloud,oauth2client,requests-toolbelt,protobuf_cpp,python-jwt,pycryptodome,httplib2,pyparsing,pyasn1,pyasn1_modules,rsa,jwcrypto,cryptography,firebase_admin
deprecated, wrapt ( could be requeired by jwcrypto)
here is a Doc which explains what requirements would be needed
https://github.com/RobertFlatt/Android-for-Python/tree/main/Android-for-Python-Users#requirements
CoutinhoElias commentedon May 31, 2021
https://github.com/RobertFlatt/Android-for-Python/tree/main/Android-for-Python-Users#requirements
aqulline commentedon May 31, 2021
7 remaining items
aqulline commentedon Oct 13, 2021
AlejandroPG10 commentedon Apr 16, 2023
You're a genius!
Thank you so much, it worked for me too!!!
Alexndegwa commentedon Jul 25, 2023
This was actually working before. Nowdays the bulldozer fails if pycryptodome and cryptography are included. If you exclude them, the resulting APK also crashes since these two are necessary. Has anyone found a solution to this?
Zeikov commentedon Sep 27, 2023
bros i really need the help firebase is not working with all requierments keep crashing on my phone
cristianmejiaarias commentedon Sep 27, 2023
Zeikov commentedon Sep 27, 2023
I will love that do u speak spanish ? wherever u can bro
Zeikov commentedon Sep 27, 2023
should i use a older version of pyrebase ? Maybe it will work idk iam trying evrything
cristianmejiaarias commentedon Sep 27, 2023
Zeikov commentedon Sep 28, 2023
genial bro, pues yo ya llevo atorado 2 días en este lio yo puedo en las noches que estoy mas libre te dejo mi correo alejandrobargaglipalermo@gmail.com
este es mi spec : y al final te adjunto mis librerías
[app]
(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,db,zip
(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, venv
(list) List of exclusions using pattern matching
Do not prefix with './'
#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
requirements = pyrebase4,sqlite3,matplotlib,matplotlib.pyplot,python3,kivy==2.0.0,kivymd==0.104.1,mapview,geocoder,email-validator,requests==2.29.0,urllib3==1.21.1,chardet,idna,ratelim,decorator,click,dnspython,pillow,python-jwt==2.0.1,oauth2client==4.1.2,httplib2,pyparsing,pyasn1,pyasn1_modules,virtualenv,six,sh,rsa,requests-toolbelt==0.7.1,python-jwt,pygments,pycryptodome==3.6.4,ptyprocess,protobuf,platformdirs,pexpect,kivy-garden.mapview,kivy-garden,jws,googleapis-common-protos,gcloud==0.18.3,future,filelock,docutils,distlib,backports.entry-points-selectable,jwcrypto,cryptography,Deprecated,wrapt
garden_requirements = graph,matplotlib,matplotlib.pyplot
(str) Custom source folders for requirements
Sets custom source for any requirements with recipes
requirements.source.kivy = ../../kivy
(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
(list) Supported orientations
Valid options are: landscape, portrait, portrait-reverse or landscape-reverse
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 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
(string) Presplash animation using Lottie format.
see https://lottiefiles.com/ for examples and https://airbnb.design/lottie/
for general documentation.
Lottie files can be created using various tools, like Adobe After Effect or Synfig.
#android.presplash_lottie = "path/to/lottie/file.json"
(str) Adaptive icon of the application (used if Android API level is 26+ at runtime)
#icon.adaptive_foreground.filename = %(source.dir)s/data/icon_fg.png
#icon.adaptive_background.filename = %(source.dir)s/data/icon_bg.png
(list) Permissions
(See https://python-for-android.readthedocs.io/en/latest/buildoptions/#build-options-1 for all the supported syntaxes and properties)
android.permissions = INTERNET, WRITE_EXTERNAL_STORAGE, READ_EXTERNAL_STORAGE
(list) features (adds uses-feature -tags to manifest)
#android.features = android.hardware.usb.host
(int) Target Android API, should be as high as possible.
#android.api = 31
(int) Minimum API your APK / AAB will support.
#android.minapi = 21
(int) Android SDK version to use
#android.sdk = 20
(str) Android NDK version to use
#android.ndk = 23b
(int) Android NDK API to use. This is the minimum API your app will support, it should usually match android.minapi.
#android.ndk_api = 21
(bool) Use --private data storage (True) or --dir public storage (False)
#android.private_storage = True
(str) Android NDK directory (if empty, it will be automatically downloaded.)
#android.ndk_path =
(str) Android SDK directory (if empty, it will be automatically downloaded.)
#android.sdk_path =
(str) ANT directory (if empty, it will be automatically downloaded.)
#android.ant_path =
(bool) If True, then skip trying to update the Android sdk
This can be useful to avoid excess Internet downloads or save time
when an update is due and you just want to test/build your package
android.skip_update = False
(bool) If True, then automatically accept SDK license
agreements. This is intended for automation only. If set to False,
the default, you will be shown the license when first running
buildozer.
android.accept_sdk_license = False
(str) Android entry point, default is ok for Kivy-based app
#android.entrypoint = org.kivy.android.PythonActivity
(str) Full name including package path of the Java class that implements Android Activity
use that parameter together with android.entrypoint to set custom Java class instead of PythonActivity
#android.activity_class_name = org.kivy.android.PythonActivity
(str) Extra xml to write directly inside the element of AndroidManifest.xml
use that parameter to provide a filename from where to load your custom XML code
#android.extra_manifest_xml = ./src/android/extra_manifest.xml
(str) Extra xml to write directly inside the tag of AndroidManifest.xml
use that parameter to provide a filename from where to load your custom XML arguments:
#android.extra_manifest_application_arguments = ./src/android/extra_manifest_application_arguments.xml
(str) Full name including package path of the Java class that implements Python Service
use that parameter to set custom Java class which extends PythonService
#android.service_class_name = org.kivy.android.PythonService
(str) Android app theme, default is ok for Kivy-based app
android.apptheme = "@android:style/Theme.NoTitleBar"
(list) Pattern to whitelist for the whole project
#android.whitelist =
(str) Path to a custom whitelist file
#android.whitelist_src =
(str) Path to a custom blacklist file
#android.blacklist_src =
(list) List of Java .jar files to add to the libs so that pyjnius can access
their classes. Don't add jars that you do not need, since extra jars can slow
down the build process. Allows wildcards matching, for example:
OUYA-ODK/libs/*.jar
#android.add_jars = foo.jar,bar.jar,path/to/more/*.jar
(list) List of Java files to add to the android project (can be java or a
directory containing the files)
#android.add_src =
(list) Android AAR archives to add
#android.add_aars =
(list) Put these files or directories in the apk assets directory.
Either form may be used, and assets need not be in 'source.include_exts'.
1) android.add_assets = source_asset_relative_path
2) android.add_assets = source_asset_path:destination_asset_relative_path
#android.add_assets =
(list) Put these files or directories in the apk res directory.
The option may be used in three ways, the value may contain one or zero ':'
Some examples:
1) A file to add to resources, legal resource names contain ['a-z','0-9','_']
android.add_resources = my_icons/all-inclusive.png:drawable/all_inclusive.png
2) A directory, here 'legal_icons' must contain resources of one kind
android.add_resources = legal_icons:drawable
3) A directory, here 'legal_resources' must contain one or more directories,
each of a resource kind: drawable, xml, etc...
android.add_resources = legal_resources
#android.add_resources =
(list) Gradle dependencies to add
#android.gradle_dependencies =
(bool) Enable AndroidX support. Enable when 'android.gradle_dependencies'
contains an 'androidx' package, or any package from Kotlin source.
android.enable_androidx requires android.api >= 28
#android.enable_androidx = True
(list) add java compile options
this can for example be necessary when importing certain java libraries using the 'android.gradle_dependencies' option
see https://developer.android.com/studio/write/java8-support for further information
android.add_compile_options = "sourceCompatibility = 1.8", "targetCompatibility = 1.8"
(list) Gradle repositories to add {can be necessary for some android.gradle_dependencies}
please enclose in double quotes
e.g. android.gradle_repositories = "maven { url 'https://kotlin.bintray.com/ktor' }"
#android.add_gradle_repositories =
(list) packaging options to add
see https://google.github.io/android-gradle-dsl/current/com.android.build.gradle.internal.dsl.PackagingOptions.html
can be necessary to solve conflicts in gradle_dependencies
please enclose in double quotes
e.g. android.add_packaging_options = "exclude 'META-INF/common.kotlin_module'", "exclude 'META-INF/*.kotlin_module'"
#android.add_packaging_options =
(list) Java classes to add as activities to the manifest.
#android.add_activities = com.example.ExampleActivity
(str) OUYA Console category. Should be one of GAME or APP
If you leave this blank, OUYA support will not be enabled
#android.ouya.category = GAME
(str) Filename of OUYA Console icon. It must be a 732x412 png image.
#android.ouya.icon.filename = %(source.dir)s/data/ouya_icon.png
(str) XML file to include as an intent filters in tag
#android.manifest.intent_filters =
(list) Copy these files to src/main/res/xml/ (used for example with intent-filters)
#android.res_xml = PATH_TO_FILE,
(str) launchMode to set for the main activity
#android.manifest.launch_mode = standard
(str) screenOrientation to set for the main activity.
Valid values can be found at https://developer.android.com/guide/topics/manifest/activity-element
#android.manifest.orientation = fullSensor
(list) Android additional libraries to copy into libs/armeabi
#android.add_libs_armeabi = libs/android/.so
#android.add_libs_armeabi_v7a = libs/android-v7/.so
#android.add_libs_arm64_v8a = libs/android-v8/.so
#android.add_libs_x86 = libs/android-x86/.so
#android.add_libs_mips = libs/android-mips/*.so
(bool) Indicate whether the screen should stay on
Don't forget to add the WAKE_LOCK permission if you set this to True
#android.wakelock = False
(list) Android application meta-data to set (key=value format)
#android.meta_data =
(list) Android library project to add (will be added in the
project.properties automatically.)
#android.library_references =
(list) Android shared libraries which will be added to AndroidManifest.xml using tag
#android.uses_library =
(str) Android logcat filters to use
#android.logcat_filters = *:S python:D
(bool) Android logcat only display log for activity's pid
#android.logcat_pid_only = False
(str) Android additional adb arguments
#android.adb_args = -H host.docker.internal
(bool) Copy library instead of making a libpymodules.so
#android.copy_libs = 1
(list) The Android archs to build for, choices: armeabi-v7a, arm64-v8a, x86, x86_64
In past, was
android.archas we weren't supporting builds for multiple archs at the same time.android.archs = arm64-v8a, armeabi-v7a
(int) overrides automatic versionCode computation (used in build.gradle)
this is not the same as app version and should only be edited if you know what you're doing
android.numeric_version = 1
(bool) enables Android auto backup feature (Android API >=23)
android.allow_backup = True
(str) XML file for custom backup rules (see official auto backup documentation)
android.backup_rules =
(str) If you need to insert variables into your AndroidManifest.xml file,
you can do so with the manifestPlaceholders property.
This property takes a map of key-value pairs. (via a string)
Usage example : android.manifest_placeholders = [myCustomUrl:"org.kivy.customurl"]
android.manifest_placeholders = [:]
(bool) Skip byte compile for .py files
android.no-byte-compile-python = False
(str) The format used to package the app for release mode (aab or apk or aar).
android.release_artifact = aab
(str) The format used to package the app for debug mode (apk or aar).
android.debug_artifact = apk
Python for android (p4a) specific
(str) python-for-android URL to use for checkout
#p4a.url =
(str) python-for-android fork to use in case if p4a.url is not specified, defaults to upstream (kivy)
#p4a.fork = kivy
(str) python-for-android branch to use, defaults to master
#p4a.branch = master
(str) python-for-android specific commit to use, defaults to HEAD, must be within p4a.branch
#p4a.commit = HEAD
(str) python-for-android git clone directory (if empty, it will be automatically cloned from github)
#p4a.source_dir =
(str) The directory in which python-for-android should look for your own build recipes (if any)
#p4a.local_recipes =
(str) Filename to the hook for p4a
#p4a.hook =
(str) Bootstrap to use for android builds
p4a.bootstrap = sdl2
(int) port number to specify an explicit --port= p4a argument (eg for bootstrap flask)
#p4a.port =
Control passing the --use-setup-py vs --ignore-setup-py to p4a
"in the future" --use-setup-py is going to be the default behaviour in p4a, right now it is not
Setting this to false will pass --ignore-setup-py, true will pass --use-setup-py
NOTE: this is general setuptools integration, having pyproject.toml is enough, no need to generate
setup.py if you're using Poetry, but you need to add "toml" to source.include_exts.
#p4a.setup_py = false
(str) extra command line arguments to pass when invoking pythonforandroid.toolchain
#p4a.extra_args =
iOS specific
(str) Path to a custom kivy-ios folder
#ios.kivy_ios_dir = ../kivy-ios
Alternately, specify the URL and branch of a git checkout:
ios.kivy_ios_url = https://github.com/kivy/kivy-ios
ios.kivy_ios_branch = master
Another platform dependency: ios-deploy
Uncomment to use a custom checkout
#ios.ios_deploy_dir = ../ios_deploy
Or specify URL and branch
ios.ios_deploy_url = https://github.com/phonegap/ios-deploy
ios.ios_deploy_branch = 1.10.0
(bool) Whether or not to sign the code
ios.codesign.allowed = false
(str) Name of the certificate to use for signing the debug version
Get a list of available identities: buildozer ios list_identities
#ios.codesign.debug = "iPhone Developer: ()"
(str) The development team to use for signing the debug version
#ios.codesign.development_team.debug =
(str) Name of the certificate to use for signing the release version
#ios.codesign.release = %(ios.codesign.debug)s
(str) The development team to use for signing the release version
#ios.codesign.development_team.release =
(str) URL pointing to .ipa file to be installed
This option should be defined along with
display_image_urlandfull_size_image_urloptions.#ios.manifest.app_url =
(str) URL pointing to an icon (57x57px) to be displayed during download
This option should be defined along with
app_urlandfull_size_image_urloptions.#ios.manifest.display_image_url =
(str) URL pointing to a large icon (512x512px) to be used by iTunes
This option should be defined along with
app_urlanddisplay_image_urloptions.#ios.manifest.full_size_image_url =
[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
(str) Path to build artifact storage, absolute or relative to spec file
build_dir = ./.buildozer
(str) Path to build output (i.e. .apk, .aab, .ipa) storage
bin_dir = ./bin
-----------------------------------------------------------------------------
List as sections
You can define all the "list" as [section:key].
Each line will be considered as a option to the list.
Let's take [app] / source.exclude_patterns.
Instead of doing:
#[app]
#source.exclude_patterns = license,data/audio/.wav,data/images/original/
This can be translated into:
#[app:source.exclude_patterns]
#license
#data/audio/.wav
#data/images/original/
-----------------------------------------------------------------------------
Profiles
You can extend section / key with a profile
For example, you want to deploy a demo version of your application without
HD content. You could first change the title to add "(demo)" in the name
and extend the excluded directories to remove the HD content.
#[app@demo]
#title = My Application (demo)
#[app:source.exclude_patterns@demo]
#images/hd/*
Then, invoke the command line with the "demo" profile:
#buildozer --profile demo android debug
librerías:
import sqlite3
import matplotlib.pyplot as plt
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from pipkivy.uix.label import Label
from kivy.uix.button import Button
from kivy.uix.textinput import TextInput
from kivy.uix.gridlayout import GridLayout
from kivy.uix.scrollview import ScrollView
from kivy.uix.image import Image
from kivy.uix.popup import Popup
import pyrebase
Zeikov commentedon Sep 30, 2023
no solution right ?
cristianmejiaarias commentedon Sep 30, 2023
Zeikov commentedon Oct 4, 2023
just when i run the apk
Siam-Rayhan1 commentedon Nov 10, 2023
This is my
The errors I'm getting is
Check this out. And help me anyways
cristianmejiaarias commentedon Nov 10, 2023
Siam-Rayhan1 commentedon Nov 11, 2023
I got this error