【问题标题】:navigator.geolocation.getCurrentPosition throwing error on android for IBM MF - 7.1.0.00.20161006-0540navigator.geolocation.getCurrentPosition 在 android 上为 IBM MF 抛出错误 - 7.1.0.00.20161006-0540
【发布时间】: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


    【解决方案1】:

    这是一个影响 IBM MobileFirst Platform Foundation v7.0 和 v7.1 的已知问题。
    安装 IFIX 7.1.0.00.20160919-1915 后,PI70478 应用程序在 Android 设备上失败

    在通过 iFix 修复之前,您可以通过从 Android 项目中生成的 config.xml 中删除以下内容来解决此问题:

    <feature name="Geolocation">
        <param name="android-package" value="org.apache.cordova.geolocation.GeoBroker" />
    </feature>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多