kivy / buildozer

Generic Python packager for Android and iOS
https://buildozer.readthedocs.io
MIT License
1.65k stars 482 forks source link

Kivy build failed when trying to integrate admob using jnius #1771

Closed venturem closed 3 months ago

venturem commented 3 months ago

Versions

Description

buildozer is failing with below error. I am new to this so I may be wrong, but I suspect that I am not adding certain necessary jar files to this build.

buildozer.spec

Command:

buildozer android debug

Spec file:

[app]

# (str) Title of your application
title = YourAppTitle

# (str) Package name
package.name = yourapppackage

# (str) Package domain (needed for android/ios packaging)
package.domain = org.yourdomain

# (str) Source code where the main.py live
source.include_exts = py,png,jpg,kv,atlas

# (list) Application requirements
# comma separated e.g. requirements = sqlite3,kivy
# requirements = python3,kivy,plyer

# (str) Application versioning (method1)
version = 1.0

# (list) Application build permissions
android.permissions = INTERNET

# (list) Application meta-data
android.meta_data = com.google.android.gms.ads.APPLICATION_ID=your_admob_app_id

# (str) Source code where the main.py live
source.dir = .

# (list) Assets to copy (files or directories)
source.include_patterns = assets/*,images/*.png

# (str) Supported orientations (landscape, portrait or all)
orientation = portrait

# (bool) Indicate whether the application should be fullscreen or not
fullscreen = 0

[buildozer]

# (list) List of source files to include
source.include_exts = py,png,jpg,kv,atlas

# (list) List of inclusions using pattern matching
source.include_patterns = assets/*,images/*.png

# (list) List of exclusions using pattern matching
source.exclude_patterns = license,images/*/*.xcf,doc

# (str) Application entry point
main.source.filename = main.py

# (str) Target directory to contain the source
main.source.include_exts = py,png,jpg,kv,atlas

# (list) Application binary
android.permissions = INTERNET

# (list) Android application meta-data to set (http://developer.android.com/guide/topics/manifest/meta-data-element.html)
android.meta_data = com.google.android.gms.ads.APPLICATION_ID=your_admob_app_id

# (list) Application requirements
# comma separated e.g. requirements = sqlite3,kivy
requirements = python3,kivy,plyer,android,pyjnius

# (str) Android Gradle dependencies
# Comma separated entries, e.g. gradle_dependencies = com.google.firebase:firebase-ads:20.3.0
gradle_dependencies = 'com.google.android.gms:play-services-ads:20.3.0'

# (list) Android add-ons
android.add_src = src
android.gradle_dependencies = 'com.google.android.gms:play-services-ads:20.3.0'

# (list) Java classes that should be added to the special Java jar
android.add_jars = libs/android-support-v4.jar, libs/play-services-ads-20.3.0.jar

# (list) Android aars to add (currently works only with sdl2_gradle
# and other gradle-based backends, doesn't work with oldbuild
# requirements)
android.aars = libs/androidx.appcompat-appcompat-1.3.0.aar

# (list) Android assets to copy, comma separated entry
android.assets = libs/

Logs

[INFO]:    <- directory context /home/venture/CODE/kivy/kivy_kv/plyerads/.buildozer/android/platform/python-for-android
[INFO]:    -> directory context /home/venture/CODE/kivy/kivy_kv/plyerads/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/dists/yourapppackage
[DEBUG]:   Remove directory and subdirectory src/main/assets
[DEBUG]:   Create directory src/main/assets
Compiling '/home/venture/CODE/kivy/kivy_kv/plyerads/.buildozer/android/app/main.py'...
Compiling '/home/venture/CODE/kivy/kivy_kv/plyerads/.buildozer/android/app/sitecustomize.py'...
[DEBUG]:   Remove directory and subdirectory /tmp/p4a-extra-env-x_bnpq7b
[INFO]:    Detected highest available build tools version to be 34.0.0
[DEBUG]:   -> running dos2unix /home/venture/CODE/kivy/kivy_kv/plyerads/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/dists/yourapppackage/gradlew
[DEBUG]:    dos2unix: converting file /home/venture/CODE/kivy/kivy_kv/plyerads/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/dists/yourapppackage/gradlew to Unix format...
[DEBUG]:   -> running gradlew clean assembleDebug
[DEBUG]:    Exception in thread "main" java.lang.ClassNotFoundException: org.gradle.launcher.GradleMain
[DEBUG]:        at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:435)
[DEBUG]:        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:589)
[DEBUG]:        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
[DEBUG]:        at org.gradle.wrapper.BootstrapMainStarter.start(BootstrapMainStarter.java:28)
[DEBUG]:        at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:127)
[DEBUG]:        at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:56)
Exception in thread background thread for pid 441747:
Traceback (most recent call last):
  File "/usr/lib/python3.11/threading.py", line 1045, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.11/threading.py", line 982, in run
    self._target(*self._args, **self._kwargs)
  File "/home/venture/CODE/kivy/.venv/lib/python3.11/site-packages/sh.py", line 1641, in wrap
    fn(*rgs, **kwargs)
  File "/home/venture/CODE/kivy/.venv/lib/python3.11/site-packages/sh.py", line 2569, in background_thread
    handle_exit_code(exit_code)
  File "/home/venture/CODE/kivy/.venv/lib/python3.11/site-packages/sh.py", line 2269, in fn
    return self.command.handle_command_exit_code(exit_code)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/venture/CODE/kivy/.venv/lib/python3.11/site-packages/sh.py", line 869, in handle_command_exit_code
    raise exc
sh.ErrorReturnCode_1: 

  RAN: /home/venture/CODE/kivy/kivy_kv/plyerads/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/dists/yourapppackage/gradlew clean assembleDebug

  STDOUT:
Exception in thread "main" java.lang.ClassNotFoundException: org.gradle.launcher.GradleMain
    at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:435)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:589)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
    at org.gradle.wrapper.BootstrapMainStarter.start(BootstrapMainStarter.java:28)
    at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:127)
    at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:56)

  STDERR:

[INFO]:    STDOUT:
    Exception in thread "main" java.lang.ClassNotFoundException: org.gradle.launcher.GradleMain 
    at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:435) 
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:589)  
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)  
    at org.gradle.wrapper.BootstrapMainStarter.start(BootstrapMainStarter.java:28)  
    at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:127) 
    at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:56)
[INFO]:    STDERR:

[INFO]:    ENV:
export SHELL='/bin/bash'
export SESSION_MANAGER='local/venture-VirtualBox:@/tmp/.ICE-unix/2630,unix/venture-VirtualBox:/tmp/.ICE-unix/2630'
export WINDOWID='73400323'
export QT_ACCESSIBILITY='1'
export COLORTERM='truecolor'
export XDG_CONFIG_DIRS='/etc/xdg/xdg-xfce:/etc/xdg:/etc/xdg'
export XDG_SESSION_PATH='/org/freedesktop/DisplayManager/Session0'
export XDG_MENU_PREFIX='xfce-'
export GTK_IM_MODULE='ibus'
export LANGUAGE='en_GB:en'
export MANDATORY_PATH='/usr/share/gconf/xfce.mandatory.path'
export JAVA_HOME='/usr/lib/jvm/java-14-openjdk-amd64'
export SSH_AUTH_SOCK='/tmp/ssh-XXXXXXV3deSb/agent.2698'
export XMODIFIERS='@im=ibus'
export DESKTOP_SESSION='xfce'
export SSH_AGENT_PID='2699'
export GTK_MODULES=':canberra-gtk-module:gail:atk-bridge'
export XDG_SEAT='seat0'
export PWD='/home/venture/CODE/kivy/kivy_kv/plyerads'
export LOGNAME='venture'
export XDG_SESSION_DESKTOP='xfce'
export QT_QPA_PLATFORMTHEME='qt5ct'
export XDG_SESSION_TYPE='x11'
export PANEL_GDK_CORE_DEVICE_EVENTS='0'
export XAUTHORITY='/home/venture/.Xauthority'
export XDG_GREETER_DATA_DIR='/var/lib/lightdm-data/venture'
export GDM_LANG='en_GB'
export HOME='/home/venture'
export LANG='en_GB.UTF-8'
export XDG_CURRENT_DESKTOP='XFCE'
export VIRTUAL_ENV='/home/venture/CODE/kivy/.venv'
export VTE_VERSION='6800'
export XDG_SEAT_PATH='/org/freedesktop/DisplayManager/Seat0'
export CLUTTER_IM_MODULE='ibus'
export XDG_SESSION_CLASS='user'
export TERM='xterm-256color'
export DEFAULTS_PATH='/usr/share/gconf/xfce.default.path'
export USER='venture'
export DISPLAY=':0.0'
export SHLVL='2'
export QT_IM_MODULE='ibus'
export XDG_VTNR='7'
export XDG_SESSION_ID='c1'
export XDG_RUNTIME_DIR='/run/user/1000'
export GTK3_MODULES='xapp-gtk3-module'
export XDG_DATA_DIRS='/usr/share/xfce4:/usr/local/share/:/usr/share/:/usr/share'
export PATH='/home/venture/.buildozer/android/platform/apache-ant-1.9.4/bin:/home/venture/CODE/kivy/.venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin'
export GDMSESSION='xfce'
export DBUS_SESSION_BUS_ADDRESS='unix:path=/run/user/1000/bus'
export OLDPWD='/home/venture/CODE/kivy/kivy_kv'
export _='/home/venture/CODE/kivy/.venv/bin/buildozer'
export PACKAGES_PATH='/home/venture/.buildozer/android/packages'
export ANDROIDSDK='/home/venture/.buildozer/android/platform/android-sdk'
export ANDROIDNDK='/home/venture/.buildozer/android/platform/android-ndk-r25b'
export ANDROIDAPI='31'
export ANDROIDMINAPI='21'
export ANDROID_NDK_HOME='/home/venture/.buildozer/android/platform/android-ndk-r25b'
export ANDROID_HOME='/home/venture/.buildozer/android/platform/android-sdk'

[INFO]:    COMMAND:
cd /home/venture/CODE/kivy/kivy_kv/plyerads/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/dists/yourapppackage && /home/venture/CODE/kivy/kivy_kv/plyerads/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/dists/yourapppackage/gradlew clean assembleDebug

[WARNING]: ERROR: /home/venture/CODE/kivy/kivy_kv/plyerads/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/dists/yourapppackage/gradlew failed!
No setup.py/pyproject.toml used, copying full private data into .apk.
Applying Java source code patches...
Applying patch: src/patches/SDLActivity.java.patch
# Command failed: ['/home/venture/CODE/kivy/.venv/bin/python3.11', '-m', 'pythonforandroid.toolchain', 'apk', '--bootstrap', 'sdl2', '--dist_name', 'yourapppackage', '--name', 'YourAppTitle', '--version', '1.0', '--package', 'org.yourdomain.yourapppackage', '--minsdk', '21', '--ndk-api', '21', '--private', '/home/venture/CODE/kivy/kivy_kv/plyerads/.buildozer/android/app', '--permission', 'INTERNET', '--android-entrypoint', 'org.kivy.android.PythonActivity', '--android-apptheme', '@android:style/Theme.NoTitleBar', '--meta-data', 'com.google.android.gms.ads.APPLICATION_ID=your_admob_app_id', '--orientation', 'portrait', '--window', '--enable-androidx', '--copy-libs', '--arch', 'arm64-v8a', '--arch', 'armeabi-v7a', '--color=always', '--storage-dir=/home/venture/CODE/kivy/kivy_kv/plyerads/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a', '--ndk-api=21', '--ignore-setup-py', '--debug']
# ENVIRONMENT:
#     SHELL = '/bin/bash'
#     SESSION_MANAGER = 'local/venture-VirtualBox:@/tmp/.ICE-unix/2630,unix/venture-VirtualBox:/tmp/.ICE-unix/2630'
#     WINDOWID = '73400323'
#     QT_ACCESSIBILITY = '1'
#     COLORTERM = 'truecolor'
#     XDG_CONFIG_DIRS = '/etc/xdg/xdg-xfce:/etc/xdg:/etc/xdg'
#     XDG_SESSION_PATH = '/org/freedesktop/DisplayManager/Session0'
#     XDG_MENU_PREFIX = 'xfce-'
#     GTK_IM_MODULE = 'ibus'
#     LANGUAGE = 'en_GB:en'
#     MANDATORY_PATH = '/usr/share/gconf/xfce.mandatory.path'
#     JAVA_HOME = '/usr/lib/jvm/java-14-openjdk-amd64'
#     SSH_AUTH_SOCK = '/tmp/ssh-XXXXXXV3deSb/agent.2698'
#     XMODIFIERS = '@im=ibus'
#     DESKTOP_SESSION = 'xfce'
#     SSH_AGENT_PID = '2699'
#     GTK_MODULES = ':canberra-gtk-module:gail:atk-bridge'
#     XDG_SEAT = 'seat0'
#     PWD = '/home/venture/CODE/kivy/kivy_kv/plyerads'
#     LOGNAME = 'venture'
#     XDG_SESSION_DESKTOP = 'xfce'
#     QT_QPA_PLATFORMTHEME = 'qt5ct'
#     XDG_SESSION_TYPE = 'x11'
#     PANEL_GDK_CORE_DEVICE_EVENTS = '0'
#     XAUTHORITY = '/home/venture/.Xauthority'
#     XDG_GREETER_DATA_DIR = '/var/lib/lightdm-data/venture'
#     GDM_LANG = 'en_GB'
#     HOME = '/home/venture'
#     LANG = 'en_GB.UTF-8'
#     XDG_CURRENT_DESKTOP = 'XFCE'
#     VIRTUAL_ENV = '/home/venture/CODE/kivy/.venv'
#     VTE_VERSION = '6800'
#     XDG_SEAT_PATH = '/org/freedesktop/DisplayManager/Seat0'
#     CLUTTER_IM_MODULE = 'ibus'
#     XDG_SESSION_CLASS = 'user'
#     TERM = 'xterm-256color'
#     DEFAULTS_PATH = '/usr/share/gconf/xfce.default.path'
#     USER = 'venture'
#     DISPLAY = ':0.0'
#     SHLVL = '2'
#     QT_IM_MODULE = 'ibus'
#     XDG_VTNR = '7'
#     XDG_SESSION_ID = 'c1'
#     XDG_RUNTIME_DIR = '/run/user/1000'
#     GTK3_MODULES = 'xapp-gtk3-module'
#     XDG_DATA_DIRS = '/usr/share/xfce4:/usr/local/share/:/usr/share/:/usr/share'
#     PATH = '/home/venture/.buildozer/android/platform/apache-ant-1.9.4/bin:/home/venture/CODE/kivy/.venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin'
#     GDMSESSION = 'xfce'
#     DBUS_SESSION_BUS_ADDRESS = 'unix:path=/run/user/1000/bus'
#     OLDPWD = '/home/venture/CODE/kivy/kivy_kv'
#     _ = '/home/venture/CODE/kivy/.venv/bin/buildozer'
#     PACKAGES_PATH = '/home/venture/.buildozer/android/packages'
#     ANDROIDSDK = '/home/venture/.buildozer/android/platform/android-sdk'
#     ANDROIDNDK = '/home/venture/.buildozer/android/platform/android-ndk-r25b'
#     ANDROIDAPI = '31'
#     ANDROIDMINAPI = '21'
# 
# Buildozer failed to execute the last command
# The error might be hidden in the log above this error
# Please read the full log, and search for it before
# raising an issue with buildozer itself.
# In case of a bug report, please add a full log with log_level = 2
github-actions[bot] commented 3 months ago

👋 @venturem, Sorry to hear you are having difficulties with Kivy's Buildozer; Kivy unites a number of different technologies, so building apps can be temperamental. We try to use GitHub issues only to track work for developers to do to fix bugs and add new features to Buildozer. This issue has been closed, because it doesn't describe a bug or new feature request for Buildozer. There is a mailing list and a Discord channel to support Kivy users debugging their own systems, which should be able to help. They are linked in the ReadMe. Of course, if it turns out you have stumbled over a bug in Buildozer, we do want to hear about it here. The support channels should be able to help you craft an appropriate bug report.