How to include java classes in kivy-application with buildozer?

Viewed 81

I'm trying to show ads in my kivy application using KivMob. However when I run my application this message appears

01-30 15:02:25.475  6295  6528 I python  : [INFO   ] [Kivy        ] v2.0.0
01-30 15:02:25.476  6295  6528 I python  : [INFO   ] [Kivy        ] Installed at "/data/user/0/org.speedball.speedball/files/app/_python_bundle/site-packages/kivy/__init__.pyc"
01-30 15:02:25.476  6295  6528 I python  : [INFO   ] [Python      ] v3.8.9 (default, Jan 29 2022, 12:36:24) 
01-30 15:02:25.476  6295  6528 I python  : [Clang 8.0.2 (https://android.googlesource.com/toolchain/clang 40173bab62ec7462
01-30 15:02:25.476  6295  6528 I python  : [INFO   ] [Python      ] Interpreter at ""
01-30 15:02:26.365  6295  6528 I python  : [INFO   ] [Factory     ] 186 symbols loaded
01-30 15:02:26.680  6295  6528 I python  : [INFO   ] [Image       ] Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored)
01-30 15:02:26.712  6295  6528 I python  : [INFO   ] [Text        ] Provider: sdl2
01-30 15:02:26.744  6295  6528 I python  : [INFO   ] [Window      ] Provider: sdl2
01-30 15:02:27.277  6295  6528 I python  : [INFO   ] [GL          ] Using the "OpenGL ES 2" graphics system
01-30 15:02:27.279  6295  6528 I python  : [INFO   ] [GL          ] Backend used <sdl2>
01-30 15:02:27.279  6295  6528 I python  : [INFO   ] [GL          ] OpenGL version <b'OpenGL ES 3.2 V@444.0 (GIT@243b6bc, I98aee2b40e, 1607452833) (Date:12/08/20)'>
01-30 15:02:27.280  6295  6528 I python  : [INFO   ] [GL          ] OpenGL vendor <b'Qualcomm'>
01-30 15:02:27.280  6295  6528 I python  : [INFO   ] [GL          ] OpenGL renderer <b'Adreno (TM) 610'>
01-30 15:02:27.280  6295  6528 I python  : [INFO   ] [GL          ] OpenGL parsed version: 3, 2
01-30 15:02:27.281  6295  6528 I python  : [INFO   ] [GL          ] Texture max size <16384>
01-30 15:02:27.281  6295  6528 I python  : [INFO   ] [GL          ] Texture max units <16>
01-30 15:02:27.348  6295  6528 I python  : [INFO   ] [Window      ] auto add sdl2 input provider
01-30 15:02:27.349  6295  6528 I python  : [INFO   ] [Window      ] virtual keyboard not allowed, single mode, not docked
01-30 15:02:27.354  6295  6528 I python  : [INFO   ] [Audio       ] Providers: audio_sdl2 (audio_android, audio_ffpyplayer ignored)
01-30 15:02:27.760  6295  6528 I python  : [ERROR  ] [KivMob      ] Cannot load AdMob classes. Check buildozer.spec.
01-30 15:02:30.386  6295  6528 I python  : EXCEPTION: JVM exception occurred: Didn't find class "com.google.android.gms.ads.reward.RewardedVideoAd" on path: DexPathList[[zip file "/data/app/org.speedball.speedball-dA5wHxdnSbtMbw-PKtJ7CQ==/base.apk"],nativeLibraryDirectories=[/data/app/org.speedball.speedball-dA5wHxdnSbtMbw-PKtJ7CQ==/lib/arm64, /data/app/org.speedball.speedball-dA5wHxdnSbtMbw-PKtJ7CQ==/base.apk!/lib/arm64-v8a, /system/lib64, /product/lib64]] java.lang.ClassNotFoundException
01-30 15:02:30.826  6295  6528 I python  : [WARNING] [Factory     ] Ignored class "RoundedButton" re-declaration. Current -  module: None, cls: <class '__main__.RoundedButton'>, baseclass: None, filename: None. Ignored -  module: None, cls: None, baseclass: Button, filename: /data/data/org.speedball.speedball/files/app/speedball.kv.
01-30 15:02:30.826  6295  6528 I python  : [WARNING] [Factory     ] Ignored class "RoundedButton2" re-declaration. Current -  module: None, cls: <class '__main__.RoundedButton2'>, baseclass: None, filename: None. Ignored -  module: None, cls: None, baseclass: Button, filename: /data/data/org.speedball.speedball/files/app/speedball.kv.
01-30 15:02:30.827  6295  6528 I python  : [WARNING] [Factory     ] Ignored class "RoundedButton3" re-declaration. Current -  module: None, cls: <class '__main__.RoundedButton3'>, baseclass: None, filename: None. Ignored -  module: None, cls: None, baseclass: Button, filename: /data/data/org.speedball.speedball/files/app/speedball.kv.
01-30 15:02:30.827  6295  6528 I python  : [WARNING] [Factory     ] Ignored class "SquareButton" re-declaration. Current -  module: None, cls: <class '__main__.SquareButton'>, baseclass: None, filename: None. Ignored -  module: None, cls: None, baseclass: Button, filename: /data/data/org.speedball.speedball/files/app/speedball.kv.
01-30 15:02:31.116  6295  6528 I python  : [INFO   ] [GL          ] NPOT texture support is available
01-30 15:02:31.502  6295  6528 I python  : [INFO   ] [KivMob      ] __init__ called.
01-30 15:02:31.503  6295  6528 I python  : [INFO   ] [KivMob      ] Android platform detected.
01-30 15:02:31.504  6295  6528 I python  : [INFO   ] [KivMob      ] load_rewarded_ad() called.
01-30 15:02:31.505  6295  6528 I python  : [INFO   ] [KivMob      ] __init__ called.
01-30 15:02:31.505  6295  6528 I python  : [INFO   ] [KivMob      ] Android platform detected.
01-30 15:02:31.507  6295  6528 I python  : [INFO   ] [KivMob      ] load_rewarded_ad() called.
01-30 15:02:31.508  6295  6295 I python  :  Traceback (most recent call last):
01-30 15:02:31.509  6295  6528 I python  : [INFO   ] [KivMob      ] set_rewarded_ad_listener() called.
01-30 15:02:31.534  6295  6295 I python  :    File "/home/thalis/Dropbox/SpeedBall/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/python-installs/speedball/arm64-v8a/android/runnable.py", line 38, in run
01-30 15:02:31.548  6295  6295 I python  :    File "/home/thalis/Dropbox/SpeedBall/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/python-installs/speedball/arm64-v8a/kivmob.py", line 188, in __init__
01-30 15:02:31.559  6295  6295 I python  :  NameError: name 'MobileAds' is not defined
01-30 15:02:31.633  6295  6295 I python  :  Traceback (most recent call last):
01-30 15:02:31.635  6295  6295 I python  :    File "/home/thalis/Dropbox/SpeedBall/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/python-installs/speedball/arm64-v8a/android/runnable.py", line 38, in run
01-30 15:02:31.637  6295  6295 I python  :    File "/home/thalis/Dropbox/SpeedBall/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/python-installs/speedball/arm64-v8a/kivmob.py", line 259, in load_rewarded_ad
01-30 15:02:31.638  6295  6295 I python  :    File "/home/thalis/Dropbox/SpeedBall/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/python-installs/speedball/arm64-v8a/kivmob.py", line 290, in _get_builder
01-30 15:02:31.639  6295  6295 I python  :  AttributeError: 'AndroidBridge' object has no attribute '_test_devices'
01-30 15:02:31.644  6295  6295 I python  :  Traceback (most recent call last):
01-30 15:02:31.644  6295  6295 I python  :    File "/home/thalis/Dropbox/SpeedBall/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/python-installs/speedball/arm64-v8a/android/runnable.py", line 38, in run
01-30 15:02:31.644  6295  6295 I python  :    File "/home/thalis/Dropbox/SpeedBall/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/python-installs/speedball/arm64-v8a/kivmob.py", line 188, in __init__
01-30 15:02:31.644  6295  6295 I python  :  NameError: name 'MobileAds' is not defined
01-30 15:02:31.655  6295  6295 I python  :  Traceback (most recent call last):
01-30 15:02:31.655  6295  6295 I python  :    File "/home/thalis/Dropbox/SpeedBall/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/python-installs/speedball/arm64-v8a/android/runnable.py", line 38, in run
01-30 15:02:31.656  6295  6295 I python  :    File "/home/thalis/Dropbox/SpeedBall/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/python-installs/speedball/arm64-v8a/kivmob.py", line 259, in load_rewarded_ad
01-30 15:02:31.656  6295  6295 I python  :    File "/home/thalis/Dropbox/SpeedBall/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/python-installs/speedball/arm64-v8a/kivmob.py", line 290, in _get_builder
01-30 15:02:31.656  6295  6295 I python  :  AttributeError: 'AndroidBridge' object has no attribute '_test_devices'
01-30 15:02:31.660  6295  6295 I python  :  Traceback (most recent call last):
01-30 15:02:31.661  6295  6295 I python  :    File "/home/thalis/Dropbox/SpeedBall/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/python-installs/speedball/arm64-v8a/android/runnable.py", line 38, in run
01-30 15:02:31.661  6295  6295 I python  :    File "/home/thalis/Dropbox/SpeedBall/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a/build/python-installs/speedball/arm64-v8a/kivmob.py", line 254, in set_rewarded_ad_listener
01-30 15:02:31.661  6295  6295 I python  :  NameError: name 'AdMobRewardedVideoAdListener' is not defined
01-30 15:02:32.006  6295  6528 I python  : [WARNING] [Base        ] Unknown <android> provider
01-30 15:02:32.006  6295  6528 I python  : [INFO   ] [Base        ] Start application main loop
01-30 15:02:33.707  6295  6528 I python  : [WARNING] [GL          ] Unpack subimage support is not available

As you can see i'm catching an exception and printing it out by writing 'EXCEPTION: ...'

EXCEPTION: JVM exception occurred: Didn't find class "com.google.android.gms.ads.reward.RewardedVideoAd" on path: DexPathList[[zip file "/data/app/org.speedball.speedball-dA5wHxdnSbtMbw-PKtJ7CQ==/base.apk"],nativeLibraryDirectories=[/data/app/org.speedball.speedball-dA5wHxdnSbtMbw-PKtJ7CQ==/lib/arm64, /data/app/org.speedball.speedball-dA5wHxdnSbtMbw-PKtJ7CQ==/base.apk!/lib/arm64-v8a, /system/lib64, /product/lib64]] java.lang.ClassNotFoundException

Does this exception mean I'm not including this Java Class? If so,

How can I include it?

I'm using buildozer to build the apk

0 Answers
Related