问题
We're developing an HTML 5 hybrid app using the Ionic Framework and have included the Crosswalk Cordova plugin (v1.3.1, which includes the latest version of Crosswalk) as part of the release build. The app runs fine on most Android devices, but it doesn't seem to start on the Samsung Galaxy s6. Here's a crash log from Logcat:
09-15 15:22:23.485: E/NetlinkEvent(3009): NetlinkEvent::FindParam(): Parameter 'LABEL' not found
09-15 15:22:25.315: E/NetlinkEvent(3009): NetlinkEvent::FindParam(): Parameter 'LABEL' not found
09-15 15:22:26.055: E/CatchNotificationsService(5885): Invalid notification data
09-15 15:22:26.545: E/WifiStateMachine(3546): ScanModeState !CMD_START_SCAN 10014 3333 ic=0 proc(ms):1 dur:3412 rssi=-127 f=-1 sc=0 link=-1 tx=0.0, 0.0, 0.0 rx=0.0 fiv=20000 [on:0 tx:0 rx:0 period:75144] from screen [on:0 period:-753264901]
09-15 15:22:26.545: E/WifiStateMachine(3546): [1,442,355,746,557 ms] noteScanstart no scan source
09-15 15:22:28.965: E/ActivityManager(3546): checkUser: useridlist=null, currentuser=0
09-15 15:22:28.965: E/ActivityManager(3546): checkUser: useridlist=null, currentuser=0
09-15 15:22:28.965: E/ActivityManager(3546): checkUser: useridlist=null, currentuser=0
09-15 15:22:28.965: E/ActivityManager(3546): checkUser: useridlist=null, currentuser=0
09-15 15:22:28.965: E/Zygote(791): MountEmulatedStorage()
09-15 15:22:28.965: E/Zygote(791): v2
09-15 15:22:28.975: E/SELinux(791): [DEBUG] get_category: variable seinfo: default sensitivity: NULL, cateogry: NULL
09-15 15:22:29.105: E/AndroidRuntime(791): FATAL EXCEPTION: main
09-15 15:22:29.105: E/AndroidRuntime(791): Process: com.trinet.pushchat, PID: 791
09-15 15:22:29.105: E/AndroidRuntime(791): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.trinet.pushchat/com.trinet.pushchat.MainActivity}: java.lang.RuntimeException: Failed to create webview.
09-15 15:22:29.105: E/AndroidRuntime(791): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3119)
09-15 15:22:29.105: E/AndroidRuntime(791): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3218)
09-15 15:22:29.105: E/AndroidRuntime(791): at android.app.ActivityThread.access$1000(ActivityThread.java:198)
09-15 15:22:29.105: E/AndroidRuntime(791): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1676)
09-15 15:22:29.105: E/AndroidRuntime(791): at android.os.Handler.dispatchMessage(Handler.java:102)
09-15 15:22:29.105: E/AndroidRuntime(791): at android.os.Looper.loop(Looper.java:145)
09-15 15:22:29.105: E/AndroidRuntime(791): at android.app.ActivityThread.main(ActivityThread.java:6837)
09-15 15:22:29.105: E/AndroidRuntime(791): at java.lang.reflect.Method.invoke(Native Method)
09-15 15:22:29.105: E/AndroidRuntime(791): at java.lang.reflect.Method.invoke(Method.java:372)
09-15 15:22:29.105: E/AndroidRuntime(791): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404)
09-15 15:22:29.105: E/AndroidRuntime(791): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199)
09-15 15:22:29.105: E/AndroidRuntime(791): Caused by: java.lang.RuntimeException: Failed to create webview.
09-15 15:22:29.105: E/AndroidRuntime(791): at org.apache.cordova.CordovaWebViewImpl.createEngine(CordovaWebViewImpl.java:82)
09-15 15:22:29.105: E/AndroidRuntime(791): at org.apache.cordova.CordovaActivity.makeWebViewEngine(CordovaActivity.java:190)
09-15 15:22:29.105: E/AndroidRuntime(791): at org.apache.cordova.CordovaActivity.makeWebView(CordovaActivity.java:186)
09-15 15:22:29.105: E/AndroidRuntime(791): at org.apache.cordova.CordovaActivity.init(CordovaActivity.java:135)
09-15 15:22:29.105: E/AndroidRuntime(791): at org.apache.cordova.CordovaActivity.loadUrl(CordovaActivity.java:208)
09-15 15:22:29.105: E/AndroidRuntime(791): at com.trinet.pushchat.MainActivity.onCreate(MainActivity.java:32)
09-15 15:22:29.105: E/AndroidRuntime(791): at android.app.Activity.performCreate(Activity.java:6500)
09-15 15:22:29.105: E/AndroidRuntime(791): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1120)
09-15 15:22:29.105: E/AndroidRuntime(791): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3072)
09-15 15:22:29.105: E/AndroidRuntime(791): ... 10 more
09-15 15:22:29.105: E/AndroidRuntime(791): Caused by: java.lang.reflect.InvocationTargetException
09-15 15:22:29.105: E/AndroidRuntime(791): at java.lang.reflect.Constructor.newInstance(Native Method)
09-15 15:22:29.105: E/AndroidRuntime(791): at java.lang.reflect.Constructor.newInstance(Constructor.java:288)
09-15 15:22:29.105: E/AndroidRuntime(791): at org.apache.cordova.CordovaWebViewImpl.createEngine(CordovaWebViewImpl.java:80)
09-15 15:22:29.105: E/AndroidRuntime(791): ... 18 more
09-15 15:22:29.105: E/AndroidRuntime(791): Caused by: java.lang.RuntimeException: java.lang.RuntimeException: Use SharedXWalkView if you want to support shared mode
09-15 15:22:29.105: E/AndroidRuntime(791): at org.xwalk.core.ReflectionHelper.handleException(ReflectionHelper.java:233)
09-15 15:22:29.105: E/AndroidRuntime(791): at org.xwalk.core.ReflectionHelper.handleException(ReflectionHelper.java:237)
09-15 15:22:29.105: E/AndroidRuntime(791): at org.xwalk.core.ReflectionHelper.init(ReflectionHelper.java:132)
09-15 15:22:29.105: E/AndroidRuntime(791): at org.xwalk.core.ReflectionHelper.loadClass(ReflectionHelper.java:199)
09-15 15:22:29.105: E/AndroidRuntime(791): at org.xwalk.core.XWalkPreferences.setValue(XWalkPreferences.java:112)
09-15 15:22:29.105: E/AndroidRuntime(791): at org.crosswalk.engine.XWalkCordovaView.setGlobalPrefs(XWalkCordovaView.java:43)
09-15 15:22:29.105: E/AndroidRuntime(791): at org.crosswalk.engine.XWalkCordovaView.<init>(XWalkCordovaView.java:50)
09-15 15:22:29.105: E/AndroidRuntime(791): at org.crosswalk.engine.XWalkWebViewEngine.<init>(XWalkWebViewEngine.java:56)
09-15 15:22:29.105: E/AndroidRuntime(791): ... 21 more
09-15 15:22:29.105: E/AndroidRuntime(791): Caused by: java.lang.RuntimeException: Use SharedXWalkView if you want to support shared mode
09-15 15:22:29.105: E/AndroidRuntime(791): ... 28 more
09-15 15:22:29.135: E/android.os.Debug(3546): ro.product_ship = true
09-15 15:22:29.135: E/android.os.Debug(3546): ro.debug_level = 0x4f4c
09-15 15:22:29.945: E/WifiMonitor(3546): WifiMonitor:wlan0 cnt=8455 dispatchEvent: CTRL-EVENT-SCAN-RESULTS
09-15 15:22:29.945: E/WifiMonitor(3546): handleEvent 4 CTRL-EVENT-SCAN-RESULTS
09-15 15:22:29.945: E/WifiStateMachine(3546): ScanModeState !SCAN_RESULTS_EVENT 0 0 found=26 known=0 got=26 bcn=0
09-15 15:22:29.945: E/WifiStateMachine(3546): DriverStartedState !SCAN_RESULTS_EVENT 0 0 found=26 known=0 got=26 bcn=0
09-15 15:22:29.945: E/WifiStateMachine(3546): SupplicantStartedState !SCAN_RESULTS_EVENT 0 0 found=26 known=0 got=26 bcn=0
09-15 15:22:29.945: E/WifiStateMachine(3546): [1,442,355,749,958 ms] noteScanEnd WorkSource{10014}
09-15 15:22:29.955: E/WifiStateMachine(3546): wifi setScanResults statecom.android.server.wifi.WifiStateMachine$ScanModeState@302f73d8 sup_state=COMPLETED debouncing=false
09-15 15:22:30.955: E/NetlinkEvent(3009): NetlinkEvent::FindParam(): Parameter 'LABEL' not found
09-15 15:22:42.125: E/Watchdog(3546): !@Sync 3669 [09-15 15:22:42.132]
09-15 15:22:42.445: E/NetlinkEvent(3009): NetlinkEvent::FindParam(): Parameter 'LABEL' not found
09-15 15:22:46.845: E/MediaPlayerService(3017): WFD client is not created
09-15 15:22:46.895: E/MediaPlayerService(3017): WFD client is not created
09-15 15:22:47.215: E/ActivityManager(3546): checkUser: useridlist=null, currentuser=0
09-15 15:22:47.215: E/ActivityManager(3546): checkUser: useridlist=null, currentuser=0
09-15 15:22:47.215: E/ActivityManager(3546): checkUser: useridlist=null, currentuser=0
09-15 15:22:47.215: E/ActivityManager(3546): checkUser: useridlist=null, currentuser=0
09-15 15:22:47.225: E/Zygote(845): MountEmulatedStorage()
09-15 15:22:47.225: E/Zygote(845): v2
09-15 15:22:47.235: E/SELinux(845): [DEBUG] get_category: variable seinfo: untrusted sensitivity: NULL, cateogry: NULL
09-15 15:22:47.295: E/SEC_DRM_PLUGIN_Omafl(3016): OmaPlugin::onOpenDecryptSession(fd)::Drm2IsDrmFileByExtFd::file is NOT DRM by extension
09-15 15:22:47.335: E/MediaPlayer(6339): Should have subtitle controller already set
09-15 15:22:47.335: E/MediaPlayer(6339): Should have subtitle controller already set
09-15 15:22:47.475: E/CatchNotificationsService(5885): Invalid notification data
09-15 15:22:47.765: E/GmsUtils(6339): Failed to connect to Google API client: ConnectionResult{statusCode=API_UNAVAILABLE, resolution=null}
09-15 15:22:47.775: E/GmsUtils(6339): Failed to connect to Google API client: ConnectionResult{statusCode=API_UNAVAILABLE, resolution=null}
09-15 15:22:47.785: E/MDM(439): [64407] b.run: Couldn't connect to Google API client: ConnectionResult{statusCode=API_UNAVAILABLE, resolution=null, message=null}
09-15 15:22:48.225: E/NetlinkEvent(3009): NetlinkEvent::FindParam(): Parameter 'LABEL' not found
09-15 15:22:58.805: E/PowerManagerService(3546): handleSandman : startDreaming, but isDreaming false
09-15 15:22:58.945: E/SmartFaceService(3546): onReceive: android.intent.action.SCREEN_OFF
09-15 15:22:58.995: E/MotionRecognitionService(3546): handler : SCREEN_OFF end
09-15 15:22:59.005: E/WifiStateMachine(3546): ScanModeState !CMD_SCREEN_STATE_CHANGED 0 0
09-15 15:22:59.005: E/WifiStateMachine(3546): DriverStartedState !CMD_SCREEN_STATE_CHANGED 0 0
09-15 15:22:59.005: E/WifiStateMachine(3546): SupplicantStartedState !CMD_SCREEN_STATE_CHANGED 0 0
09-15 15:22:59.005: E/WifiStateMachine(3546): DefaultState !CMD_SCREEN_STATE_CHANGED 0 0
09-15 15:22:59.005: E/WifiStateMachine(3546): handleScreenStateChanged Enter: screenOn=false mCurrentScanAlarmMs = 0 mUserWantsSuspendOpt=true state ScanModeState suppState:DisconnectedState
09-15 15:22:59.005: E/WifiStateMachine(3546): handleScreenStateChanged Exit: false
09-15 15:22:59.015: E/WifiStateMachine(3546): ScanModeState CMD_ENABLE_RSSI_POLL 0 0
09-15 15:22:59.015: E/WifiStateMachine(3546): DriverStartedState CMD_ENABLE_RSSI_POLL 0 0
09-15 15:22:59.015: E/WifiStateMachine(3546): SupplicantStartedState CMD_ENABLE_RSSI_POLL 0 0
09-15 15:22:59.015: E/WifiStateMachine(3546): DefaultState CMD_ENABLE_RSSI_POLL 0 0
09-15 15:22:59.015: E/WifiStateMachine(3546): ScanModeState CMD_SET_SUSPEND_OPT_ENABLED 1 0
09-15 15:22:59.015: E/WifiStateMachine(3546): DriverStartedState CMD_SET_SUSPEND_OPT_ENABLED 1 0
09-15 15:22:59.025: E/WifiStateMachine(3546): setSuspendOptimizationsNative: 4 true -want true stack:setSuspendOptimizationsNative - access$19800 - processMessage - processMsg
09-15 15:22:59.025: E/WifiStateMachine(3546): setSuspendOptimizationsNative do it 4 true stack:setSuspendOptimizationsNative - access$19800 - processMessage - processMsg
09-15 15:22:59.025: E/WifiNative-wlan0(3546): do suspend true
09-15 15:22:59.045: E/WifiStateMachine(3546): ScanModeState what:131171 1 0
09-15 15:22:59.045: E/WifiStateMachine(3546): DriverStartedState what:131171 1 0
09-15 15:22:59.045: E/WifiStateMachine(3546): SupplicantStartedState what:131171 1 0
09-15 15:22:59.045: E/WifiStateMachine(3546): DefaultState what:131171 1 0
09-15 15:22:59.475: E/CocktailBarPositionManager(23609): Window direction: 0
09-15 15:22:59.485: E/DayClockPanelView(23609): onDisplayChange() - adjust panel padding
09-15 15:22:59.485: E/DayClockPanelView(23609): onDisplayChange() - adjust panel padding
09-15 15:23:01.215: E/MtpServerJNI(6736): server is null in send_object_removed
09-15 15:23:01.255: E/CatchNotificationsService(5885): Invalid notification data
09-15 15:23:01.275: E/CatchNotificationsService(5885): Invalid notification data
09-15 15:23:04.005: E/LSO(4146): LSO Service is not yet ready!!!
09-15 15:23:04.025: E/ActivityManager(3546): checkUser: useridlist=null, currentuser=0
09-15 15:23:04.025: E/ActivityManager(3546): checkUser: useridlist=null, currentuser=0
09-15 15:23:04.025: E/ActivityManager(3546): checkUser: useridlist=null, currentuser=0
09-15 15:23:04.025: E/ActivityManager(3546): checkUser: useridlist=null, currentuser=0
09-15 15:23:04.045: E/Zygote(937): MountEmulatedStorage()
09-15 15:23:04.045: E/Zygote(937): v2
09-15 15:23:04.055: E/SELinux(937): [DEBUG] get_category: variable seinfo: platform sensitivity: NULL, cateogry: NULL
09-15 15:23:04.485: E/S-Physics(937): PhysicsEngineJNI JNI_OnLoad enter!!
09-15 15:23:04.485: E/S-Physics(937): Success find Class
09-15 15:23:04.485: E/S-Physics(937): PhysicsEngineJNI JNI_OnLoad Success
09-15 15:23:04.485: E/WaterDroplet_JniWaterDropletRenderer(937): JniWaterDropletRenderer is called
09-15 15:23:04.485: E/WaterDroplet_JniWaterDropletRenderer(937): native_Init_JNI is called
09-15 15:23:04.485: E/<< JOOON >>(937): Call the native_Init_JNI
Haven't seen a solution to this other than upgrading to the latest version of Crosswalk, which we're using. Also, I have the following Android permissions in the Manifest file (auto-generated):
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
Is there anything I'm forgetting or has anyone else experienced something similar?
Edit: I'm using the armv7-release.apk
回答1:
Do you use the sqlite plugin for cordova? ( https://github.com/litehelpers/Cordova-sqlite-storage ) There is a problem using the crosswalk plugin in connection with the sqlite plugin on devices with x86 64bit architecture.
A solution for this problem is mentioned here: https://github.com/litehelpers/Cordova-sqlite-storage/issues/336#issuecomment-138369971
来源:https://stackoverflow.com/questions/32662320/ionic-crosswalk-crashing-on-samsung-s6-device