yasirkula / UnitySimpleFileBrowser

A uGUI based runtime file browser for Unity 3D (draggable and resizable)
MIT License
874 stars 113 forks source link

SimpleFileBrowserCanvas(Clone) won't appear on Android #68

Closed grox777 closed 2 years ago

grox777 commented 2 years ago

SimpleFileBrowserCanvas(Clone) does not open on Android. In Editor it works fine... Worked well in previous builds, I have no idea what was changed or what settings I might have accidentally broken.

P.S. This was supposed to be the last test before publishing... But here we go again :'D

yasirkula commented 2 years ago

That's strange. Is there anything I need to know about your setup? Like, are you putting the file browser in your scenes manually or letting the system Instantiate the file browser canvas automatically as needed? Have you modified the plugin in any noticeable way? Can you put Debug.Log lines before and after the FileBrowser.ShowLoadDialog function in your script and verify that they are both logged to Android Logcat?

grox777 commented 2 years ago

Thanks for reply!!

Like, are you putting the file browser in your scenes manually or letting the system Instantiate the file browser canvas automatically as needed? Have you modified the plugin in any noticeable way?

In my case file browser canvas instance created via script... No, i did not modified plugin... :^)

Can you put Debug.Log lines before and after the FileBrowser.ShowLoadDialog function in your script and verify that they are both logged to Android Logcat?

Im not sure about it...

I'll try to do it tomorrow :^)

2022-06-27_20-39-03 2022-06-27_20-38-31

yasirkula commented 2 years ago

Please put a Debug.Log("Calling file browser"); line at the beginning of ShowLoadDialogCoroutine function. To see this log and other logs in logcat, you can install Unity's Android Logcat package via Package Manager. Check if "Calling file browser" is logged there and if there are any error message after that.

grox777 commented 2 years ago

Check if "Calling file browser" is logged there and if there are any error message after that.

It was much easier than i thought, thank you!

Now we know, that for some reason unity throws "object reference not set" exception... 2022-06-28_07-23-15

06.28 07:20:09.913 27683 27697 Info Unity UnityEngine.EventSystems.StandaloneInputModule:Process() 06.28 07:20:09.913 27683 27697 Info Unity 06.28 07:20:09.923 27683 27697 Error Unity NullReferenceException: Object reference not set to an instance of an object. 06.28 07:20:09.923 27683 27697 Error Unity at SimpleFileBrowser.FileBrowser.set_PickerMode (SimpleFileBrowser.FileBrowser+PickMode value) [0x00000] in <00000000000000000000000000000000>:0 06.28 07:20:09.923 27683 27697 Error Unity at SimpleFileBrowser.FileBrowser.ShowDialogInternal (SimpleFileBrowser.FileBrowser+OnSuccess onSuccess, SimpleFileBrowser.FileBrowser+OnCancel onCancel, SimpleFileBrowser.FileBrowser+PickMode pickMode, System.Boolean allowMultiSelection, System.Boolean acceptNonExistingFilename, System.String initialPath, System.String initialFilename, System.String title, System.String submitButtonText) [0x00000] in <00000000000000000000000000000000>:0 06.28 07:20:09.923 27683 27697 Error Unity at SimpleFileBrowser.FileBrowser.ShowLoadDialog (SimpleFileBrowser.FileBrowser+OnSuccess onSuccess, SimpleFileBrowser.FileBrowser+OnCancel onCancel, SimpleFileBrowser.FileBrowser+PickMode pickMode, System.Boolean allowMultiSelection, System.String initialPath, System.String initialFilename, System.String title, System.String loadButtonText) [0x00000 06.28 07:20:10.033 363 1955 Info BufferQueueProducer [SurfaceView](this:0xb3190400,id:565,api:1,p:27683,c:363) queueBuffer: fps=14.93 dur=1071.55 max=94.59 min=39.17 06.28 07:20:10.413 16334 16782 Debug NetworkController.MobileSignalController(1/2) onSignalStrengthsChanged signalStrength=SignalStrength: 31 99 -31 -200 -31 -200 -1 99 2147483647 2147483647 2147483647 2147483647 2147483647 0x4 gsm|lte level=4 06.28 07:20:10.413 16334 16782 Debug NetworkController.MobileSignalController(1/2) getMobileIconGroup(): 0

yasirkula commented 2 years ago

Can you select the SimpleFileBrowserCanvas prefab in Project window and check its Inspector to verify that all of its variables are assigned values?

grox777 commented 2 years ago

Can you select the SimpleFileBrowserCanvas prefab in Project window and check its Inspector to verify that all of its variables are assigned values?

Seems like all of them are assigned 2022-06-28_09-59-57 2022-06-28_10-00-11

grox777 commented 2 years ago

Problem solved by disabling "Release" checkbox in "Minify" category. Player settings -> Publishing settings -> Release checkbox.

yasirkula commented 2 years ago

Oh.. That was an unexpected solution, honestly. I'll probably give it a try myself.