Android Phonegap 2.2网络连接:找不到类

时间:2013-02-14 16:27:20

标签: android cordova classnotfound

我最近将我的应用从Phonegap 1.6升级到2.2。 我已经重构了所有内容(ex Plugin - > CordovaPlugin),我也使用了新的config.xml

应用程序编译和构建,但是我经常在logcat和错误对话框中收到错误。对话框显示[ERROR] Error initializing Cordova: Class not found

logcat错误是: Line 6048 : Error initializing Network Connection: Class not found

我能错过什么? 问题发生在多个设备上。

更新

我已经将网络状态插件的config.xml从Network Status更改为NetworkStatus。它写着:<plugin name="NetworkStatus" value="org.apache.cordova.NetworkManager"/>

3 个答案:

答案 0 :(得分:2)

我遇到了这个问题,并将以下内容添加到config.xml

<plugin name="NetworkStatus" value="org.apache.cordova.NetworkManager"/>

并将其添加到清单文件中:

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

我最初将它们拿出来因为我“知道”我的应用程序不会使用任何通信。我忘记了模拟器与ADK“沟通”。

当我将项目转换为“生产”时,我会将这2行删除,以便该应用已准备好进行Google Play。

答案 1 :(得分:0)

我使用phonegap 3.x遇到了这个问题,问题原因是手机没有正确安装插件,或者他们一路上搞砸了。基本上,当您安装插件并为平台构建时,它会从plugins / org.apache.cordova.core.specific-plugin / www获取javascript文件,并将它们放在platforms / android / assets / www / plugins / org.apache中。 cordova.core.specific-plugin / www然后它接受Java文件(或iOS的目标C)并将它们放在平台/ android / src / org / apache / cordova / specificplugin

所有这些都是由plugins / org.apache.cordova.core.specific-plugin/plugin.xml指定的。如果您查看plugins.xml,您应该看到类似的内容:

<source-file src="src/android/NetworkManager.java" target-dir="src/org/apache/cordova/networkinformation" />

所以这告诉你在platforms / android / src / org / apache / cordova / networkinformation中应该有NetworkManager.java。正确的文件可以从plugins / org.apache.cordova.core.network-information / src / android / NetworkManager.java复制

现在所有这一切都应该自动发生,而不必触摸平台文件夹。但如果它搞砸了你可以通过将正确的java文件复制到正确的文件夹中来修复它。

答案 2 :(得分:0)

config.xml中的以下行适用于带有android

cordova 6.2
<plugin name="cordova-plugin-network-information" value="org.apache.cordova.networkinformation"/>

名称应与插件中包含的名称相同。您可以在以下路径plugins/name-of-the-plugin/package.json的项目文件夹中找到它。 该值应该是插件的包名称,可以在本机实现文件中找到。