AltimitSystems / mv-android-client

RPG Maker MV unofficial Android client
http://www.hbgames.org/forums/viewtopic.php?f=48&t=79391
Apache License 2.0
115 stars 38 forks source link

Black-screen (WebView Chrome 72+) #8

Closed Lakaroth closed 5 years ago

Lakaroth commented 5 years ago

Dear felixjones i find an issue... I have update Android Studio, after that i got this: WARNING: The specified Android SDK Build Tools version (27.0.3) is ignored, as it is below the minimum supported version (28.0.3) for Android Gradle Plugin 3.3.0. Android SDK Build Tools 28.0.3 will be used. To suppress this warning, remove "buildToolsVersion '27.0.3'" from your build.gradle file, as each version of the Android Gradle Plugin now has a default version of the build tools. Remove Build Tools version and sync project Affected Modules: app It seems like compile has been deprecated and api or implementation should be used instead. According to The Java Library Plugin - Gradle User Guide Version 3.5: The compile configuration still exists but should not be used as it will not offer the guarantees that the api and implementation configurations provide.

So i've change compile to implementation: In Module app: This image

To this: image After doing i've update my app on playstore, everything was fine untill some users got a black screen, only Samsung S9 or S9+ with Android 8.0.0 On google play console pre launch app, i find out the problem: image I've read in some case, on Implementation you'll have to provide content labels. I think is in manifest file (i'm not a programmer) How to fix this? Thank you. PS: here a screen with system info of 4 Samsung S9+ (2 working 2 not working) it's reallly strange.

felixjones commented 5 years ago

The gradle files have been using implementation since commit 3ecc1f3a4101f71674ee94dc3c6a322f4e0316d7 March 13th 2018, so you're using an old version of MV Android Client. Please use the latest version.

Regardless, that warning is merely a warning and is unrelated to the black screen that you have. Could you please copy your logcat output of this (available in Android Studio when phone is connected and game is running in debug mode).

It's not strange that 2 Samsung devices work whilst 2 don't: Samsung devices are notoriously quirky, they have different hardware depending on the region they're bought in and some of those configurations are infamous for their misbehaving GPUs/drivers.

Do you use any Plugins? Is this CrossWalk or WebView?

Lakaroth commented 5 years ago

Hi thanks for your answer, i have tested on my Xiaomi where it works, unfortunately i don't have the Samsung S9 to test it. The logcat file is really long i past it into a txt fil, hope is correct. logcat.txt I use these plugins: plugins My RMMV and Project versions: 1.5.1 i use WebView. If a samsung S9 is needed for the bug, i can find one for test and update the logcat.txt, just tell me if the logcat that i've upload here is correct. Thank you for your time.

felixjones commented 5 years ago

I need the logcat for a device that shows this bug, any other logcat is useless as there's something in particular I want to look with the black-screen.

I already have a theory for what your problem is, but I need a logcat to confirm it. Also in the future with logcats you can select "Show only selected application" as a filter so the logcat only shows the output for your game, not your entire phone (which is why your one is so big).

Lakaroth commented 5 years ago

Ok thank you i'll find a Samsung S9 and i'll send you the correct Log. 'm sure i have check "Show only selected application" but it give me back a lot of text! So, thank you for now.

Lakaroth commented 5 years ago

Hello, i've find a Samsung S9 and i've Debug my app, doing two different test with "Errors and Show only selected application". First test (My Old MV Client "the same of my app on the store) LOGCAT logcat_old_MV_client.txt

Second test (New MV client) LOGCAT logcat_new_MV_client.txt

Hope they are corrects, in wrong case i'll do it again. Thanks for your support!

felixjones commented 5 years ago

Please do not select "Errors", it must be "Verbose". What I am looking for is not an Error, it's information output

Lakaroth commented 5 years ago

Sorry, here the correct verbose logcat. (Even if i select "Errors and Show only selected application". when i plug the mobile it start write a lot of stuff i don't understand! image

Anyway it's here, Old Mv Client (Ps i've change app name cause installations problem but it's that) logcat_verbose.txt New MV Client logcat_verbose_NewMVClient.txt

Thanks you again!

felixjones commented 5 years ago

It's because you have no debuggable process (in red) - did you not launch your game via debug run in Android Studio?

Anyway, looking at the logcat it's not even getting far enough to load Pixi.js which suggests a bug in Samsung's flavour of Android. I will need to investigate, if I send you instructions for modifying the code would you be happy to do that?

Lakaroth commented 5 years ago

Sorry for my less skills on Android Studio, i feel this like a nightmare because i can't understand how to fix it. Thank for your help i will be happy to do every modify needed to fix this! Just tell me wich version of Mv Client use.

PS: From android studio i'll do RUN > Debug App (With device connected) it is wrong?

EDIT: The strange thing is this: A lot of users who previously play my game and work, in the last 3 days got the black screen. It's maybe about a system or security update on theit mobiles? Not only samsung, even some Hwuawai too. They cant play even my first app ulpoad last year i never update that app...just compile in the same way. Also, i've create a new RMMV project (Vers 1.5.1) and download your latest MV client. A signed WebView app work on my Xiaomi but have a black screen on Samsung S9. Other guys with Xiaomi or LG etc etc got the same problem in the last 24/48 hrs, apps stop to work... it possible a security update? Maybe is an useful information.

Lakaroth commented 5 years ago

Update: With some users we've try some test. We find out that Chrome vers 72.0.3626.76 is the cause. If they deactivate chrome updates, or deactivate chrome, everything is ok, tested on more than 20 devices, even with the latest client and a blank MV project with a single event on map... black screen again, so is chrome? There's a way to fix this? Thanks

felixjones commented 5 years ago

Fixed with 741198303a7f77037d9031a82cc9e228687448f9

Lakaroth commented 5 years ago

Fantastic! Thank you! What was the cause? if i can ask. I'm really curios.

felixjones commented 5 years ago

I'm still not 100% sure what the cause was, but apparently Chrome 72 dislikes raw HTML data sent to it when decoded from a Base64 string (even though those two processes are entirely, completely, 100% separate and don't interact).

loadData supports base 64 string decoding anyway, so I removed the manual decode and used the WebView one (should make loading games a micron faster, too).

Lakaroth commented 5 years ago

i got an email from google dev about this... i'll send you if you want. I'm not sure you read this email cause you delete the post. If yes, send me your email i'll send you the google disclaimer about 64bit app's new law

Il giorno mar 5 feb 2019 alle ore 23:11 Felix Jones < notifications@github.com> ha scritto:

I'm still not 100% sure what the cause was, but apparently Chrome 72 dislikes raw HTML data sent to it when decoded from a Base64 string (even though those two processes are entirely, completely, 100% separate and don't interact).

loadData supports base 64 string decoding anyway, so I removed the manual decode and used the WebView one (should make loading games a micron faster, too).

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/AltimitSystems/mv-android-client/issues/8#issuecomment-460824183, or mute the thread https://github.com/notifications/unsubscribe-auth/AtCR1D78VgHbPO-oALwB8YH7LtP1Moyqks5vKgGHgaJpZM4afpn- .

felixjones commented 5 years ago

MV Android Client with WebView is already 64 bit