混合应用程序添加插件时出错 nl.xservices.plugins.Calendar
Hybrid App Error adding plugin nl.xservices.plugins.Calendar
通过本演练,我为我的混合应用程序的 android 环境添加了 cordova 日历。我尝试添加一个事件并获取下面的日志。
http://phonegap-plugins.com/plugins/eddyverbruggen/calendar-phonegap-plugin
我觉得 java 类 放错地方了。
W/System.err(22908): java.lang.ClassNotFoundException:
nl.xservices.plugins.Calendar
W/System.err(22908): at java.lang.Class.classForName(Native Method)
W/System.err(22908): at java.lang.Class.forName(Class.java:251)
W/System.err(22908): at java.lang.Class.forName(Class.java:216)
W/System.err(22908): at
org.apache.cordova.PluginManager.instantiatePlugin(PluginManager.java:363)
W/System.err(22908): at
org.apache.cordova.PluginManager.getPlugin(PluginManager.java:193)
W/System.err(22908): at
org.apache.cordova.PluginManager.exec(PluginManager.java:141)
W/System.err(22908): at
org.apache.cordova.CordovaBridge.jsExec(CordovaBridge.java:61)
W/System.err(22908): at
org.apache.cordova.ExposedJsApi.exec(ExposedJsApi.java:40)
W/System.err(22908): at
com.android.org.chromium.base.SystemMessageHandler.nativeDoRunLoopOnce(Native
Method)
W/System.err(22908): at
com.android.org.chromium.base.SystemMessageHandler.handleMessage(SystemMessageHandler.java:27)
W/System.err(22908): at
android.os.Handler.dispatchMessage(Handler.java:102)
W/System.err(22908): at android.os.Looper.loop(Looper.java:136)
W/System.err(22908): at
android.os.HandlerThread.run(HandlerThread.java:61)
W/System.err(22908): Caused by: java.lang.NoClassDefFoundError:
nl/xservices/plugins/Calendar
W/System.err(22908): ... 13 more
W/System.err(22908): Caused by: java.lang.ClassNotFoundException:
Didn't find class "nl.xservices.plugins.Calendar" on path:
DexPathList[[zip file
"/data/app/com.SFStudent-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.SFStudent-1,
/vendor/lib, /system/lib]]
W/System.err(22908): at
dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
W/System.err(22908): at
java.lang.ClassLoader.loadClass(ClassLoader.java:497)
W/System.err(22908): at
java.lang.ClassLoader.loadClass(ClassLoader.java:457)
W/System.err(22908): ... 13 more
I/System.out(22908): Error adding plugin
nl.xservices.plugins.Calendar.
W/System.err(22908): java.lang.NullPointerException
W/System.err(22908): at
org.apache.cordova.PluginManager.getPlugin(PluginManager.java:195)
W/System.err(22908): at
org.apache.cordova.PluginManager.exec(PluginManager.java:141)
W/System.err(22908): at
org.apache.cordova.CordovaBridge.jsExec(CordovaBridge.java:61)
W/System.err(22908): at
org.apache.cordova.ExposedJsApi.exec(ExposedJsApi.java:40)
W/System.err(22908): at
com.android.org.chromium.base.SystemMessageHandler.nativeDoRunLoopOnce(Native
Method)
W/System.err(22908): at
com.android.org.chromium.base.SystemMessageHandler.handleMessage(SystemMessageHandler.java:27)
W/System.err(22908): at
android.os.Handler.dispatchMessage(Handler.java:102)
W/System.err(22908): at android.os.Looper.loop(Looper.java:136)
W/System.err(22908): at
android.os.HandlerThread.run(HandlerThread.java:61)
Worklight/MobileFirst < 8.0 beta 没有正确支持 Cordova 插件。
在阅读建议的指南时,请确保还查看以下内容,提供需要采取的额外步骤:https://mobilefirstplatform.ibmcloud.com/blog/2015/08/03/integrating-3rd-party-cordova-plug-ins/
即:
- 修改文件以便识别插件
- 使用 Ant 保持插件完整性post-Worklight 构建(否则会破坏它)
通过本演练,我为我的混合应用程序的 android 环境添加了 cordova 日历。我尝试添加一个事件并获取下面的日志。
http://phonegap-plugins.com/plugins/eddyverbruggen/calendar-phonegap-plugin
我觉得 java 类 放错地方了。
W/System.err(22908): java.lang.ClassNotFoundException: nl.xservices.plugins.Calendar
W/System.err(22908): at java.lang.Class.classForName(Native Method)
W/System.err(22908): at java.lang.Class.forName(Class.java:251)
W/System.err(22908): at java.lang.Class.forName(Class.java:216)
W/System.err(22908): at org.apache.cordova.PluginManager.instantiatePlugin(PluginManager.java:363)
W/System.err(22908): at org.apache.cordova.PluginManager.getPlugin(PluginManager.java:193)
W/System.err(22908): at org.apache.cordova.PluginManager.exec(PluginManager.java:141)
W/System.err(22908): at org.apache.cordova.CordovaBridge.jsExec(CordovaBridge.java:61)
W/System.err(22908): at org.apache.cordova.ExposedJsApi.exec(ExposedJsApi.java:40)
W/System.err(22908): at com.android.org.chromium.base.SystemMessageHandler.nativeDoRunLoopOnce(Native Method)
W/System.err(22908): at com.android.org.chromium.base.SystemMessageHandler.handleMessage(SystemMessageHandler.java:27)
W/System.err(22908): at android.os.Handler.dispatchMessage(Handler.java:102)
W/System.err(22908): at android.os.Looper.loop(Looper.java:136)
W/System.err(22908): at android.os.HandlerThread.run(HandlerThread.java:61)
W/System.err(22908): Caused by: java.lang.NoClassDefFoundError: nl/xservices/plugins/Calendar
W/System.err(22908): ... 13 more
W/System.err(22908): Caused by: java.lang.ClassNotFoundException: Didn't find class "nl.xservices.plugins.Calendar" on path: DexPathList[[zip file "/data/app/com.SFStudent-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.SFStudent-1, /vendor/lib, /system/lib]]
W/System.err(22908): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
W/System.err(22908): at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
W/System.err(22908): at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
W/System.err(22908): ... 13 more
I/System.out(22908): Error adding plugin nl.xservices.plugins.Calendar.
W/System.err(22908): java.lang.NullPointerException
W/System.err(22908): at org.apache.cordova.PluginManager.getPlugin(PluginManager.java:195)
W/System.err(22908): at org.apache.cordova.PluginManager.exec(PluginManager.java:141)
W/System.err(22908): at org.apache.cordova.CordovaBridge.jsExec(CordovaBridge.java:61)
W/System.err(22908): at org.apache.cordova.ExposedJsApi.exec(ExposedJsApi.java:40)
W/System.err(22908): at com.android.org.chromium.base.SystemMessageHandler.nativeDoRunLoopOnce(Native Method)
W/System.err(22908): at com.android.org.chromium.base.SystemMessageHandler.handleMessage(SystemMessageHandler.java:27)
W/System.err(22908): at android.os.Handler.dispatchMessage(Handler.java:102)
W/System.err(22908): at android.os.Looper.loop(Looper.java:136)
W/System.err(22908): at android.os.HandlerThread.run(HandlerThread.java:61)
Worklight/MobileFirst < 8.0 beta 没有正确支持 Cordova 插件。
在阅读建议的指南时,请确保还查看以下内容,提供需要采取的额外步骤:https://mobilefirstplatform.ibmcloud.com/blog/2015/08/03/integrating-3rd-party-cordova-plug-ins/
即:
- 修改文件以便识别插件
- 使用 Ant 保持插件完整性post-Worklight 构建(否则会破坏它)