【问题标题】:Android Phonegap 2.2 Network Connection: Class Not FoundAndroid Phonegap 2.2 网络连接:找不到类
【发布时间】:2013-02-14 16:27:20
【问题描述】:

我最近将我的应用从 Phonegap 1.6 升级到了 2.2。 我已经重构了所有东西(例如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"/>

【问题讨论】:

  • 好的,那么config.xml文件中有“网络连接”插件吗?
  • 是的。我用确切的行更新了问题。
  • 对不起 Sababado,但 Simon 询问了网络连接插件。你的读取 NetworkStatus。 HTH 我也有同样的问题,所以我也希望你能以某种方式解决这个问题。

标签: android cordova classnotfound


【解决方案1】:

我遇到了这个问题,并通过将以下内容添加到 config.xml 来解决它:

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

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

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

我最初将它们删除是因为我“知道”我的应用不会使用任何通信。我忘记了模拟器与 ADK 的“通信”。

当我将项目转换为“生产”时,我会去掉这两行代码,以便该应用可以在 Google Play 上使用。

【讨论】:

    【解决方案2】:

    我在使用 phonegap 3.x 时遇到了这个问题,结果证明是 phonegap 没有正确安装插件,或者它们只是在安装过程中搞砸了。基本上,当您安装插件并为平台构建时,它会从 plugins/org.apache.cordova.core.specific-plugin/www 获取 javascript 文件,并将它们放在 platform/android/assets/www/plugins/org.apache 中。 cordova.core.specific-plugin/www 然后它获取Java文件(或iOS的目标C)并将它们放入platforms/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 文件复制到正确的文件夹来修复它。

    【讨论】:

      【解决方案3】:

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

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

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

      【讨论】:

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