gree / gree/unity-webview

Unable to Display webview on android

Open
#181 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Objective-C++
Stars
2.7k
Forks
734
Avg merge
11h 39m
Merged PRs (30d)
1

Description

I'm getting a number of crashes on my android when attempting to run my webview. I think it's something to do with Bluetooth permisions being required? I'm trying to load a simple HTML website (terms and conditions of the game i'm working on).

Here's what i can see on the Android device monitor the moment i spawn my webview. looks like chromium loads, but it fails to come to foreground.

05-25 09:35:54.842: D/Unity(31477): > AndroidJNI_CUSTOM_INTERNAL_CALL_NewStringUTF()
05-25 09:35:54.842: D/Unity(31477): > AndroidJNI_CUSTOM_INTERNAL_CALL_ExceptionOccurred()
05-25 09:35:54.842: D/Unity(31477): > AndroidJNI_CUSTOM_INTERNAL_CALL_NewStringUTF()
05-25 09:35:54.842: D/Unity(31477): > AndroidJNI_CUSTOM_INTERNAL_CALL_ExceptionOccurred()
05-25 09:35:54.842: D/Unity(31477): > AndroidJNI_CUSTOM_INTERNAL_CALL_CallStaticObjectMethod(00100916, e6626eac 
05-25 09:35:54.842: D/Unity(31477): >			, 001008fe
05-25 09:35:54.842: D/Unity(31477): >			, 00100005
05-25 09:35:54.842: D/Unity(31477): >			, 00200009
05-25 09:35:54.842: D/Unity(31477): >			, 00000001
05-25 09:35:54.842: D/Unity(31477): >			)
05-25 09:35:54.842: D/Unity(31477): ? getMethodID("java.lang.Class", "forName", "(Ljava/lang/String;)Ljava/lang/Object;", static)
05-25 09:35:54.842: D/Unity(31477): ! Class Class.forName(String);
05-25 09:35:54.842: D/Unity(31477): > AndroidJNI_CUSTOM_INTERNAL_CALL_ExceptionOccurred()
05-25 09:35:54.842: D/Unity(31477): > AndroidJNI_CUSTOM_DeleteLocalRef()
05-25 09:35:54.843: D/Unity(31477): > AndroidJNI_CUSTOM_DeleteLocalRef()
05-25 09:35:54.843: D/Unity(31477): > AndroidJNI_CUSTOM_INTERNAL_CALL_FromReflectedMethod()
05-25 09:35:54.843: D/Unity(31477): > AndroidJNI_CUSTOM_INTERNAL_CALL_ExceptionOccurred()
05-25 09:35:54.843: D/Unity(31477): > AndroidJNI_CUSTOM_DeleteLocalRef()
05-25 09:35:54.843: D/Unity(31477): > AndroidJNI_CUSTOM_INTERNAL_CALL_NewStringUTF()
05-25 09:35:54.843: D/Unity(31477): > AndroidJNI_CUSTOM_INTERNAL_CALL_ExceptionOccurred()
05-25 09:35:54.843: D/Unity(31477): > AndroidJNI_CUSTOM_INTERNAL_CALL_CallStaticObjectMethod(001008fe, 7104e4d8 
05-25 09:35:54.843: D/Unity(31477): >			, 00200005
05-25 09:35:54.843: D/Unity(31477): >			)
05-25 09:35:54.843: D/Unity(31477): > AndroidJNI_CUSTOM_INTERNAL_CALL_ExceptionOccurred()
05-25 09:35:54.843: D/Unity(31477): > AndroidJNI_CUSTOM_INTERNAL_CALL_GetObjectClass()
05-25 09:35:54.843: D/Unity(31477): > AndroidJNI_CUSTOM_INTERNAL_CALL_ExceptionOccurred()
05-25 09:35:54.843: D/Unity(31477): > AndroidJNI_CUSTOM_INTERNAL_CALL_NewGlobalRef()
05-25 09:35:54.843: D/Unity(31477): > AndroidJNI_CUSTOM_INTERNAL_CALL_NewGlobalRef()
05-25 09:35:54.843: D/Unity(31477): > AndroidJNI_CUSTOM_DeleteLocalRef()
05-25 09:35:54.843: D/Unity(31477): > AndroidJNI_CUSTOM_DeleteLocalRef()
05-25 09:35:54.843: D/Unity(31477): > AndroidJNI_CUSTOM_DeleteLocalRef()
05-25 09:35:54.843: D/Unity(31477): > AndroidJNI_CUSTOM_INTERNAL_CALL_NewGlobalRef()
05-25 09:35:54.846: D/Unity(31477): > AndroidJNI_CUSTOM_INTERNAL_CALL_NewStringUTF()
05-25 09:35:54.846: D/Unity(31477): > AndroidJNI_CUSTOM_INTERNAL_CALL_ExceptionOccurred()
05-25 09:35:54.846: D/Unity(31477): > AndroidJNI_CUSTOM_INTERNAL_CALL_CallStaticObjectMethod(00100916, e6626e64 
05-25 09:35:54.846: D/Unity(31477): >			, 00100a9e
05-25 09:35:54.846: D/Unity(31477): >			, 00000005
05-25 09:35:54.846: D/Unity(31477): >			)
05-25 09:35:54.846: D/Unity(31477): ? getConstructorID("net.gree.unitywebview.CWebViewPlugin", "()V")
05-25 09:35:54.847: D/Unity(31477): ! net.gree.unitywebview.CWebViewPlugin();
05-25 09:35:54.847: D/Unity(31477): > AndroidJNI_CUSTOM_INTERNAL_CALL_ExceptionOccurred()
05-25 09:35:54.847: D/Unity(31477): > AndroidJNI_CUSTOM_DeleteLocalRef()
05-25 09:35:54.847: D/Unity(31477): > AndroidJNI_CUSTOM_INTERNAL_CALL_FromReflectedMethod()
05-25 09:35:54.847: D/Unity(31477): > AndroidJNI_CUSTOM_INTERNAL_CALL_ExceptionOccurred()
05-25 09:35:54.847: D/Unity(31477): > AndroidJNI_CUSTOM_DeleteLocalRef()
05-25 09:35:54.848: D/Unity(31477): > AndroidJNI_CUSTOM_INTERNAL_CALL_NewObject(00100a9e, e65eeed0)
05-25 09:35:54.848: D/Unity(31477): > AndroidJNI_CUSTOM_INTERNAL_CALL_ExceptionOccurred()
05-25 09:35:54.848: D/Unity(31477): > AndroidJNI_CUSTOM_INTERNAL_CALL_NewGlobalRef()
05-25 09:35:54.849: D/Unity(31477): > AndroidJNI_CUSTOM_DeleteLocalRef()
05-25 09:35:54.849: D/Unity(31477): > AndroidJNI_CUSTOM_DeleteGlobalRef()
05-25 09:35:54.849: D/Unity(31477): > AndroidJNI_CUSTOM_DeleteGlobalRef()
05-25 09:35:54.851: D/Unity(31477): > AndroidJNI_CUSTOM_INTERNAL_CALL_NewStringUTF()
05-25 09:35:54.851: D/Unity(31477): > AndroidJNI_CUSTOM_INTERNAL_CALL_ExceptionOccurred()
05-25 09:35:54.851: D/Unity(31477): > AndroidJNI_CUSTOM_INTERNAL_CALL_NewStringUTF()
05-25 09:35:54.851: D/Unity(31477): > AndroidJNI_CUSTOM_INTERNAL_CALL_ExceptionOccurred()
05-25 09:35:54.851: D/Unity(31477): > AndroidJNI_CUSTOM_INTERNAL_CALL_CallStaticObjectMethod(00100916, e6626eac 
05-25 09:35:54.851: D/Unity(31477): >			, 00100a9e
05-25 09:35:54.851: D/Unity(31477): >			, 00200005
05-25 09:35:54.851: D/Unity(31477): >			, 00000009
05-25 09:35:54.851: D/Unity(31477): >			, 00000000
05-25 09:35:54.851: D/Unity(31477): >			)
05-25 09:35:54.851: D/Unity(31477): ? getMethodID("net.gree.unitywebview.CWebViewPlugin", "Init", "(Ljava/lang/String;ZLjava/lang/String;)V", non-static)
05-25 09:35:54.852: D/Unity(31477): ! void CWebViewPlugin.Init(String, boolean, String);
05-25 09:35:54.852: D/Unity(31477): > AndroidJNI_CUSTOM_INTERNAL_CALL_ExceptionOccurred()
05-25 09:35:54.852: D/Unity(31477): > AndroidJNI_CUSTOM_DeleteLocalRef()
05-25 09:35:54.852: D/Unity(31477): > AndroidJNI_CUSTOM_DeleteLocalRef()
05-25 09:35:54.852: D/Unity(31477): > AndroidJNI_CUSTOM_INTERNAL_CALL_FromReflectedMethod()
05-25 09:35:54.852: D/Unity(31477): > AndroidJNI_CUSTOM_INTERNAL_CALL_ExceptionOccurred()
05-25 09:35:54.852: D/Unity(31477): > AndroidJNI_CUSTOM_DeleteLocalRef()
05-25 09:35:54.852: D/Unity(31477): > AndroidJNI_CUSTOM_INTERNAL_CALL_NewStringUTF()
05-25 09:35:54.853: D/Unity(31477): > AndroidJNI_CUSTOM_INTERNAL_CALL_ExceptionOccurred()
05-25 09:35:54.853: D/Unity(31477): > AndroidJNI_CUSTOM_INTERNAL_CALL_NewStringUTF()
05-25 09:35:54.853: D/Unity(31477): > AndroidJNI_CUSTOM_INTERNAL_CALL_ExceptionOccurred()
05-25 09:35:54.854: D/Unity(31477): > AndroidJNI_CUSTOM_CallVoidMethod(00000aa2, e65ef158 
05-25 09:35:54.854: D/Unity(31477): >			, 00000005
05-25 09:35:54.854: D/Unity(31477): >			, 00000000
05-25 09:35:54.854: D/Unity(31477): >			, 00100009
05-25 09:35:54.854: D/Unity(31477): >			)
05-25 09:35:54.854: D/Unity(31477): > AndroidJNI_CUSTOM_INTERNAL_CALL_ExceptionOccurred()
05-25 09:35:54.854: D/Unity(31477): > AndroidJNI_CUSTOM_DeleteLocalRef()
05-25 09:35:54.854: D/Unity(31477): > AndroidJNI_CUSTOM_DeleteLocalRef()
05-25 09:35:54.857: D/Unity(31477): > AndroidJNI_CUSTOM_INTERNAL_CALL_NewStringUTF()
05-25 09:35:54.857: D/Unity(31477): > AndroidJNI_CUSTOM_INTERNAL_CALL_ExceptionOccurred()
05-25 09:35:54.857: D/Unity(31477): > AndroidJNI_CUSTOM_INTERNAL_CALL_NewStringUTF()
05-25 09:35:54.857: D/Unity(31477): > AndroidJNI_CUSTOM_INTERNAL_CALL_ExceptionOccurred()
05-25 09:35:54.857: D/Unity(31477): > AndroidJNI_CUSTOM_INTERNAL_CALL_CallStaticObjectMethod(00100916, e6626eac 
05-25 09:35:54.857: D/Unity(31477): >			, 00100a9e
05-25 09:35:54.857: D/Unity(31477): >			, 00100005
05-25 09:35:54.857: D/Unity(31477): >			, 00200009
05-25 09:35:54.857: D/Unity(31477): >			, 00000000
05-25 09:35:54.857: D/Unity(31477): >			)
05-25 09:35:54.857: D/Unity(31477): ? getMethodID("net.gree.unitywebview.CWebViewPlugin", "SetMargins", "(IIII)V", non-static)
05-25 09:35:54.858: D/Unity(31477): ! void CWebViewPlugin.SetMargins(int, int, int, int);
05-25 09:35:54.858: D/Unity(31477): > AndroidJNI_CUSTOM_INTERNAL_CALL_ExceptionOccurred()
05-25 09:35:54.858: D/Unity(31477): > AndroidJNI_CUSTOM_DeleteLocalRef()
05-25 09:35:54.858: D/Unity(31477): > AndroidJNI_CUSTOM_DeleteLocalRef()
05-25 09:35:54.858: D/Unity(31477): > AndroidJNI_CUSTOM_INTERNAL_CALL_FromReflectedMethod()
05-25 09:35:54.858: D/Unity(31477): > AndroidJNI_CUSTOM_INTERNAL_CALL_ExceptionOccurred()
05-25 09:35:54.858: D/Unity(31477): > AndroidJNI_CUSTOM_DeleteLocalRef()
05-25 09:35:54.858: D/Unity(31477): > AndroidJNI_CUSTOM_CallVoidMethod(00000aa2, e65ef20c 
05-25 09:35:54.858: D/Unity(31477): >			, 00000000
05-25 09:35:54.858: D/Unity(31477): >			, 000000f4
05-25 09:35:54.858: D/Unity(31477): >			, 00000000
05-25 09:35:54.858: D/Unity(31477): >			, 00000000
05-25 09:35:54.858: D/Unity(31477): >			)
05-25 09:35:54.859: D/Unity(31477): > AndroidJNI_CUSTOM_INTERNAL_CALL_ExceptionOccurred()
05-25 09:35:54.860: D/Unity(31477): > AndroidJNI_CUSTOM_INTERNAL_CALL_NewStringUTF()
05-25 09:35:54.860: D/Unity(31477): > AndroidJNI_CUSTOM_INTERNAL_CALL_ExceptionOccurred()
05-25 09:35:54.860: D/Unity(31477): > AndroidJNI_CUSTOM_INTERNAL_CALL_NewStringUTF()
05-25 09:35:54.860: D/Unity(31477): > AndroidJNI_CUSTOM_INTERNAL_CALL_ExceptionOccurred()
05-25 09:35:54.860: D/Unity(31477): > AndroidJNI_CUSTOM_INTERNAL_CALL_CallStaticObjectMethod(00100916, e6626eac 
05-25 09:35:54.860: D/Unity(31477): >			, 00100a9e
05-25 09:35:54.860: D/Unity(31477): >			, 00200005
05-25 09:35:54.860: D/Unity(31477): >			, 00000009
05-25 09:35:54.860: D/Unity(31477): >			, 00000000
05-25 09:35:54.860: D/Unity(31477): >			)
05-25 09:35:54.860: D/Unity(31477): ? getMethodID("net.gree.unitywebview.CWebViewPlugin", "SetVisibility", "(Z)V", non-static)
05-25 09:35:54.861: D/Unity(31477): ! void CWebViewPlugin.SetVisibility(boolean);
05-25 09:35:54.861: D/Unity(31477): > AndroidJNI_CUSTOM_INTERNAL_CALL_ExceptionOccurred()
05-25 09:35:54.861: D/Unity(31477): > AndroidJNI_CUSTOM_DeleteLocalRef()
05-25 09:35:54.861: D/Unity(31477): > AndroidJNI_CUSTOM_DeleteLocalRef()
05-25 09:35:54.861: D/Unity(31477): > AndroidJNI_CUSTOM_INTERNAL_CALL_FromReflectedMethod()
05-25 09:35:54.861: D/Unity(31477): > AndroidJNI_CUSTOM_INTERNAL_CALL_ExceptionOccurred()
05-25 09:35:54.861: D/Unity(31477): > AndroidJNI_CUSTOM_DeleteLocalRef()
05-25 09:35:54.861: D/Unity(31477): > AndroidJNI_CUSTOM_CallVoidMethod(00000aa2, e65ef230 
05-25 09:35:54.861: D/Unity(31477): >			, 00000001
05-25 09:35:54.861: D/Unity(31477): >			)
05-25 09:35:54.861: D/Unity(31477): > AndroidJNI_CUSTOM_INTERNAL_CALL_ExceptionOccurred()
05-25 09:35:54.862: D/Unity(31477): > AndroidJNI_CUSTOM_INTERNAL_CALL_NewStringUTF()
05-25 09:35:54.862: D/Unity(31477): > AndroidJNI_CUSTOM_INTERNAL_CALL_ExceptionOccurred()
05-25 09:35:54.862: D/Unity(31477): > AndroidJNI_CUSTOM_INTERNAL_CALL_NewStringUTF()
05-25 09:35:54.862: D/Unity(31477): > AndroidJNI_CUSTOM_INTERNAL_CALL_ExceptionOccurred()
05-25 09:35:54.862: D/Unity(31477): > AndroidJNI_CUSTOM_INTERNAL_CALL_CallStaticObjectMethod(00100916, e6626eac 
05-25 09:35:54.862: D/Unity(31477): >			, 00100a9e
05-25 09:35:54.862: D/Unity(31477): >			, 00000005
05-25 09:35:54.862: D/Unity(31477): >			, 00100009
05-25 09:35:54.862: D/Unity(31477): >			, 00000000
05-25 09:35:54.862: D/Unity(31477): >			)
05-25 09:35:54.863: D/Unity(31477): ? getMethodID("net.gree.unitywebview.CWebViewPlugin", "LoadURL", "(Ljava/lang/String;)V", non-static)
05-25 09:35:54.863: D/Unity(31477): ! void CWebViewPlugin.LoadURL(String);
05-25 09:35:54.863: D/Unity(31477): > AndroidJNI_CUSTOM_INTERNAL_CALL_ExceptionOccurred()
05-25 09:35:54.863: D/Unity(31477): > AndroidJNI_CUSTOM_DeleteLocalRef()
05-25 09:35:54.863: D/Unity(31477): > AndroidJNI_CUSTOM_DeleteLocalRef()
05-25 09:35:54.863: D/Unity(31477): > AndroidJNI_CUSTOM_INTERNAL_CALL_FromReflectedMethod()
05-25 09:35:54.863: D/Unity(31477): > AndroidJNI_CUSTOM_INTERNAL_CALL_ExceptionOccurred()
05-25 09:35:54.863: D/Unity(31477): > AndroidJNI_CUSTOM_DeleteLocalRef()
05-25 09:35:54.863: D/Unity(31477): > AndroidJNI_CUSTOM_INTERNAL_CALL_NewStringUTF()
05-25 09:35:54.863: D/Unity(31477): > AndroidJNI_CUSTOM_INTERNAL_CALL_ExceptionOccurred()
05-25 09:35:54.863: D/Unity(31477): > AndroidJNI_CUSTOM_CallVoidMethod(00000aa2, e65ef1c4 
05-25 09:35:54.863: D/Unity(31477): >			, 00100005
05-25 09:35:54.863: D/Unity(31477): >			)
05-25 09:35:54.864: D/Unity(31477): > AndroidJNI_CUSTOM_INTERNAL_CALL_ExceptionOccurred()
05-25 09:35:54.864: D/Unity(31477): > AndroidJNI_CUSTOM_DeleteLocalRef()
05-25 09:35:54.868: D/ApplicationLoaders(31477): ignored Vulkan layer search path /data/app/com.android.chrome-1/lib/arm:/data/app/com.android.chrome-1/base.apk!/lib/armeabi-v7a for namespace 0xea5c60d0
05-25 09:35:54.873: I/WebViewFactory(31477): Loading com.android.chrome version 58.0.3029.83 (code 302908352)
05-25 09:35:54.925: I/cr_LibraryLoader(31477): Time to load native libraries: 5 ms (timestamps 6482-6487)
05-25 09:35:54.946: I/chromium(31477): [INFO:library_loader_hooks.cc(140)] Chromium logging enabled: level = 0, default verbosity = 0
05-25 09:35:54.947: I/cr_LibraryLoader(31477): Expected native library version number "58.0.3029.83", actual native library version number "58.0.3029.83"
05-25 09:35:54.978: I/cr_BrowserStartup(31477): Initializing chromium process, singleProcess=true
05-25 09:35:55.092: W/cr_BindingManager(31477): Cannot setInForeground() - never saw a connection for the pid: 31477
05-25 09:35:55.171: W/cr_media(31477): Requires BLUETOOTH permission
05-25 09:35:55.236: E/libEGL(31477): validate_display:99 error 3008 (EGL_BAD_DISPLAY)
05-25 09:35:55.317: W/VideoCapabilities(31477): Unrecognized profile 2130706433 for video/avc
05-25 09:35:55.317: W/VideoCapabilities(31477): Unrecognized profile 2130706434 for video/avc

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the Android webview launch with the provided device-monitor log, then trace the CWebViewPlugin.Init, SetVisibility, and LoadURL calls shown there. Check whether the failure is tied to the reported Bluetooth permissions or another initialization error. Done means the simple HTML page opens without a crash on Android.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, unity
Domain
mobile-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.