learningequality / kolibri-installer-android

Android wrapper for Kolibri.
MIT License
26 stars 22 forks source link

Kolibri app crashed on Android 5.0.1 #65

Closed mrpau-richard closed 1 year ago

mrpau-richard commented 4 years ago

Kolibri app crashed after I install and launch it on physical Android version 5.0.1 device. I'm using the installer built in this PR with this installer file name Kolibri_dist__armeabi-v7a-release-0.13.4a0.dev0+git.101.g01d7cf71-3d07473-dev-.apk.

kollivier commented 4 years ago

@mrpau-richard Are you able to run adb commands in your testing environment? (i.e. is your Android device set up for debugging?) If so, could you plug your Android device into a computer via usb and run adb logcat, then start the build and send us any output from adb logcat?

mrpau-richard commented 4 years ago

@kollivier here's the adb logs on my Android device:


E/Diag_Lib(10701):  Diag_LSM_Init: Failed to open handle to diag driver, error = 2
W/ContextImpl(  861): Calling a method in the system process without a qualified user: android.app.ContextImpl.sendBroadcast:1699 a.B.a:-1 a.B.a:-1 a.D.run:-1 android.os.Handler.handleCallback:739 
D/SurfaceFlinger(  280): FPS : 0.80
W/SurfaceFlinger(  280): Fail to Open /sys/devices/platform/gpusysfs/fps
D/Gallery_Performance( 9409): cleanFileInfoHashMap End spent time[1847   msec ] before size : 866 After Size : 866
E/Watchdog(  861): !@Sync 210
D/ResourcesManager(22231): creating new AssetManager and set to /data/app/org.learningequality.Kolibri-2/base.apk
E/EdmStorageProvider(  861): Admin not in database, something went wrong
I/art     (  861): Explicit concurrent mark sweep GC freed 69134(3MB) AllocSpace objects, 7(722KB) LOS objects, 22% free, 54MB/70MB, paused 2.899ms total 218.872ms
V/AlarmManager(  861): waitForAlarm result :4
D/KeyguardViewMediator( 1279): received DELAYED_KEYGUARD_ACTION with seq = 23, mDelayedShowingSequence = 23
D/KeyguardViewMediator( 1279): isAutoUnlockEnabled in KeyguardViewMediator = true
D/KeyguardViewMediator( 1279): doKeyguard: showing the lock screen
D/KeyguardViewMediator( 1279): showLocked
D/KeyguardViewMediator( 1279): handleShow
D/PersonaManager( 1279): isKioskContainerExistOnDevice
D/KeyguardViewMediator( 1279): Kiosk container not exists on device.
D/KeyguardEffectViewUtil( 1279): wallpaperType :1
D/StatusBar-Window( 1279): fnf=false sanc=true, kni=false, sbf=false
D/CoverUI ( 1279): applyFocusableFlag() : Remove SAMSUNG_FLAG_SVIEW_COVER
W/Settings( 1279): Setting airplane_mode_on has moved from android.provider.Settings.System to android.provider.Settings.Global, returning read-only value.
D/KeyguardEffectViewUtil( 1279): wallpaperType :1
D/StatusBar-Window( 1279): fnf=false sanc=true, kni=false, sbf=false
D/CoverUI ( 1279): applyFocusableFlag() : Remove SAMSUNG_FLAG_SVIEW_COVER
D/PhoneStatusBar( 1279): updateKeyguardState :1
W/Settings( 1279): Setting airplane_mode_on has moved from android.provider.Settings.System to android.provider.Settings.Global, returning read-only value.
D/KeyguardUpdateMonitor( 1279): updateCMASText( show = false )
W/Settings( 1279): Setting airplane_mode_on has moved from android.provider.Settings.System to android.provider.Settings.Global, returning read-only value.
D/NotificationStackScrollLayout( 1279): hasNotification()-C:5
D/NotificationStackScrollLayout( 1279): hasNotification()-0-N:false
D/NotificationStackScrollLayout( 1279): hasNotification()-0-V:0
D/NotificationStackScrollLayout( 1279): hasNotification()-1-N:false
D/NotificationStackScrollLayout( 1279): hasNotification()-1-V:0
D/NotificationStackScrollLayout( 1279): hasNotification()-2-N:true
D/NotificationStackScrollLayout( 1279): hasNotification()-2-V:8
D/NotificationStackScrollLayout( 1279): hasNotification()-3-N:true
D/NotificationStackScrollLayout( 1279): hasNotification()-3-V:8
D/NotificationStackScrollLayout( 1279): hasNotification()-4-N:false
D/NotificationStackScrollLayout( 1279): hasNotification()-4-V:8
D/PanelView( 1279): There is/are nonotification(s) 
W/Settings( 1279): Setting airplane_mode_on has moved from android.provider.Settings.System to android.provider.Settings.Global, returning read-only value.
D/StatusBar( 1279): LSSN:0
W/Settings( 1279): Setting airplane_mode_on has moved from android.provider.Settings.System to android.provider.Settings.Global, returning read-only value.
D/StatusBar( 1279): fullBouncer=false
D/StatusBar( 1279): SLN:H
E/LSO     ( 1279): LSO Service is not yet ready!!!
D/StatusBar-QSPanel( 1279): setSingleLine:true
D/StatusBar-QSPanel( 1279): updateButtonInfo mButtonWidth : 206 mColumns:5 orien: 1 displayWidth:1032
D/StatusBar-QSPanel( 1279): setSingleLine height:0
D/KeyguardUpdateMonitor( 1279): updateCMASText( show = false )
W/Settings( 1279): Setting airplane_mode_on has moved from android.provider.Settings.System to android.provider.Settings.Global, returning read-only value. ```
kollivier commented 4 years ago

Did you run adb logcat and then start the Kolibri app? These logs don't indicate any attempt to start or run Kolibri in them.

mrpau-richard commented 4 years ago

Yeah that's what I did. I uploaded the compiled logs in the txt file for you to debug it. android-5.0.1-log.txt

I found this Kolibri related errors in the adb logs.

I/python  (28808): /data/data/org.learningequality.Kolibri/files/app/_python_bundle/stdlib.zip:/data/data/org.learningequality.Kolibri/files/app/_python_bundle/modules
V/WebViewLoader(28808): Could not ping localhost:5000

D/ActivityManager(  861): bindService callerProcessName:org.learningequality.Kolibri, calleePkgName: com.google.android.webview, action: null
kollivier commented 4 years ago

Ah, great, thanks! That log file has the error in it. Posting it here, for future reference:

I/python  (28808): Traceback (most recent call last):
I/python  (28808):   File "/home/kivy/build/android/main.py", line 133, in <module>
I/python  (28808):   File "/home/kivy/build/android/pew/ui.py", line 175, in run
I/python  (28808):   File "/home/kivy/build/android/pew/kivy_pew/__init__.py", line 32, in run
I/python  (28808):   File "/home/kivy/build/android/pew/kivy_pew/__init__.py", line 27, in build
I/python  (28808):   File "/home/kivy/build/android/main.py", line 62, in setUp
I/python  (28808):   File "/home/kivy/build/android/pew/ui.py", line 202, in __init__
I/python  (28808):   File "/home/kivy/build/android/pew/kivy_pew/webview.py", line 157, in __init__
I/python  (28808):   File "/home/kivy/build/android/pew/kivy_pew/webview.py", line 160, in initialize
I/python  (28808):   File "/home/kivy/build/android/pew/kivy_pew/webview.py", line 70, in __init__
I/python  (28808):   File "jnius/jnius_proxy.pxi", line 28, in jnius.jnius.PythonJavaClass.__init__
I/python  (28808):   File "jnius/jnius_proxy.pxi", line 34, in jnius.jnius.PythonJavaClass._init_j_self_ptr
I/python  (28808):   File "jnius/jnius_proxy.pxi", line 182, in jnius.jnius.create_proxy_instance
I/python  (28808):   File "jnius/jnius_export_class.pxi", line 768, in jnius.jnius.JavaMethod.__call__
I/python  (28808):   File "jnius/jnius_export_class.pxi", line 934, in jnius.jnius.JavaMethod.call_staticmethod
I/python  (28808):   File "jnius/jnius_utils.pxi", line 91, in jnius.jnius.check_exception
I/python  (28808): jnius.jnius.JavaException: JVM exception occurred: interface org.kosoftworks.pyeverywhere.WebViewCallbacks is not visible from class loader
I/python  (28808): Python for android ended.

Unfortunately, not sure what the cause for this might be. "is not visible" sounds different from "cannot be found". The only thing I can find related to this is:

https://stackoverflow.com/questions/211176/interface-is-not-visible-from-classloader-when-using-a-proxy

Will have to dig into this more!

indirectlylit commented 4 years ago

any updates on this?

jamalex commented 2 years ago

We should try to replicate this on a 5.0.1 device at some point and close if we can't get the error to show up.

rtibbles commented 1 year ago

Our minimum API level is now 23, Android 5.1 is API level 22. Closing this as won't fix.