使用Phonegap 3联系人插件的java.lang.ClassNotFoundException

时间:2013-10-03 17:05:17

标签: cordova phonegap-plugins android-contacts

我有下一个问题。我试图找到解决方案,但我找不到任何解决问题的方法。

我是phonegap开发的新手,我正在做一些“测试”。 现在,我想在智能手机中显示所有联系人。

enter link description here之后,我首先添加插件:  cordova插件添加https://git-wip-us.apache.org/repos/asf/cordova-plugin-contacts.git

但我使用的是phonegap而不是cordova。

接下来我添加: (在app / res / xml / config.xml中)

<feature name="Contacts">
    <param name="android-package" value="org.apache.cordova.ContactManager" />
</feature>

(在app / AndroidManifest.xml中)

<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />

最后,我使用了完整的例子。

但是,当我启动App时,Eclipse中出现了下一个错误: enter image description here 我不知道如何解决这个问题:S

谢谢你的时间!

2 个答案:

答案 0 :(得分:6)

如果您使用的是CLI(命令行工具)(您是),则不需要编辑platforms/android/res/config.xml/platforms/android/AndroidManifest.xml中的任何文件,因为这些工具会执行此操作你。

无论如何,问题似乎是<param name="android-package" value="org.apache.cordova.ContactManager" />实际上应该是<param name="android-package" value="org.apache.cordova.contacts.ContactManager" />。这是我在全新安装CLI时获得的。

您可以尝试npm update -g cordova(或手机屏蔽),然后再次运行命令,看看它是否有效?我不确定为什么命名空间对你不对;对此的更改是8 days ago,也许您只是使用旧的cordova / phonegap版本?

答案 1 :(得分:4)

在使用inappBrowser之前,我遇到了完全相同的问题,v 3.3及以上的文档是错误的而不是

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

它需要

<feature name="InAppBrowser"> 
   <param name="android-package" value="org.apache.cordova.inappbrowser.InAppBrowser"/>
</feature>

如果查看

,您实际上可以查看正确的映射信息

plugins / your-plugin / config.xml

 <!-- android -->
    <platform name="android">
        <config-file target="res/xml/config.xml" parent="/*">
            <feature name="InAppBrowser"> 
<param name="android-package" value="org.apache.cordova.inappbrowser.InAppBrowser"/>
</feature>

欢呼声