【发布时间】:2017-02-22 18:50:55
【问题描述】:
在 IBM Mobilefirst 修订包版本 7.1.0.00.20161006-0540
navigator.geolocation.getCurrentPosition(successfulcallback,errorCallback,{timeout:15000});
在 Android 上调用上述代码行会破坏应用程序,导致应用程序崩溃并出现以下错误。但这适用于 iOS。
10-13 16:00:30.477: W/System.err(12229): java.lang.ClassNotFoundException: org.apache.cordova.geolocation.GeoBroker 10-13 16:00:30.477: W/System.err(12229): 在 java.lang.Class.classForName(Native Method) 10-13 16:00:30.477: W/System.err(12229): 在 java.lang.Class.forName(Class.java:251) 10-13 16:00:30.477: W/System.err(12229): 在 java.lang.Class.forName(Class.java:216) 10-13 16:00:30.477: W/System.err(12229): 在 org.apache.cordova.PluginManager.instantiatePlugin(PluginManager.java:365) 10-13 16:00:30.477: W/System.err(12229): 在 org.apache.cordova.PluginManager.getPlugin(PluginManager.java:195) 10-13 16:00:30.477: W/System.err(12229): 在 org.apache.cordova.CordovaChromeClient.onGeolocationPermissionsShowPrompt(CordovaChromeClient.java:275) 10-13 16:00:30.477: W/System.err(12229): 在 com.android.webview.chromium.WebViewContentsClientAdapter.onGeolocationPermissionsShowPrompt(WebViewContentsClientAdapter.java:547) 10-13 16:00:30.477: W/System.err(12229): 在 com.android.org.chromium.android_webview.AwContents.onGeolocationPermissionsShowPrompt(AwContents.java:1842) 10-13 16:00:30.477:W/System.err(12229):在 com.android.org.chromium.base.SystemMessageHandler.nativeDoRunLoopOnce(本机方法) 10-13 16:00:30.477: W/System.err(12229): 在 com.android.org.chromium.base.SystemMessageHandler.handleMessage(SystemMessageHandler.java:27) 10-13 16:00:30.477: W/System.err(12229): 在 android.os.Handler.dispatchMessage(Handler.java:102) 10-13 16:00:30.482: W/System.err(12229): 在 android.os.Looper.loop(Looper.java:157) 10-13 16:00:30.482: W/System.err(12229): 在 android.app.ActivityThread.main(ActivityThread.java:5335) 10-13 16:00:30.482: W/System.err(12229): 在 java.lang.reflect.Method.invokeNative(Native Method) 10-13 16:00:30.482: W/System.err(12229): 在 java.lang.reflect.Method.invoke(Method.java:515) 10-13 16:00:30.482: W/System.err(12229): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265) 10-13 16:00:30.482: W/System.err(12229): 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081) 10-13 16:00:30.482: W/System.err(12229): 在 dalvik.system.NativeStart.main(Native Method) 10-13 16:00:30.482: W/System.err(12229): 引起: java.lang.NoClassDefFoundError: org/apache/cordova/geolocation/GeoBroker 10-13 16:00:30.482: W/System.err(12229): ... 还有 18 个 10-13 16:00:30.482:W/System.err(12229):原因:java.lang.ClassNotFoundException:在路径上找不到类“org.apache.cordova.geolocation.GeoBroker”:DexPathList [[zip文件 "/data/app/com.metlifeapps.metlifeus-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.metlifeapps.metlifeus-1, /vendor/lib, /system/lib]] 10-13 16:00:30.482: W/System.err(12229): 在 dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:67) 10-13 16:00:30.482: W/System.err(12229): 在 java.lang.ClassLoader.loadClass(ClassLoader.java:497) 10-13 16:00:30.482: W/System.err(12229): 在 java.lang.ClassLoader.loadClass(ClassLoader.java:457) 10-13 16:00:30.487: W/System.err(12229): ... 还有 18 个 10-13 16:00:30.487: I/System.out(12229): 添加插件 org.apache.cordova.geolocation.GeoBroker 时出错。 10-13 16:00:30.487: W/System.err(12229): java.lang.NullPointerException 10-13 16:00:30.487: W/System.err(12229): 在 org.apache.cordova.PluginManager.getPlugin(PluginManager.java:197) 10-13 16:00:30.487: W/System.err(12229): 在 org.apache.cordova.CordovaChromeClient.onGeolocationPermissionsShowPrompt(CordovaChromeClient.java:275) 10-13 16:00:30.487: W/System.err(12229): 在 com.android.webview.chromium.WebViewContentsClientAdapter.onGeolocationPermissionsShowPrompt(WebViewContentsClientAdapter.java:547) 10-13 16:00:30.487: W/System.err(12229): 在 com.android.org.chromium.android_webview.AwContents.onGeolocationPermissionsShowPrompt(AwContents.java:1842) 10-13 16:00:30.487:W/System.err(12229):在 com.android.org.chromium.base.SystemMessageHandler.nativeDoRunLoopOnce(本机方法) 10-13 16:00:30.487: W/System.err(12229): 在 com.android.org.chromium.base.SystemMessageHandler.handleMessage(SystemMessageHandler.java:27) 10-13 16:00:30.487: W/System.err(12229): 在 android.os.Handler.dispatchMessage(Handler.java:102) 10-13 16:00:30.487: W/System.err(12229): 在 android.os.Looper.loop(Looper.java:157) 10-13 16:00:30.487: W/System.err(12229): 在 android.app.ActivityThread.main(ActivityThread.java:5335) 10-13 16:00:30.487: W/System.err(12229): 在 java.lang.reflect.Method.invokeNative(Native Method) 10-13 16:00:30.487: W/System.err(12229): 在 java.lang.reflect.Method.invoke(Method.java:515) 10-13 16:00:30.487: W/System.err(12229): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265) 10-13 16:00:30.487: W/System.err(12229): 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081) 10-13 16:00:30.487: W/System.err(12229): at dalvik.system.NativeStart.main(Native Method)
【问题讨论】:
标签: android cordova ibm-mobilefirst