- 平台:MonoDroid v4.2.4
- IDE:Visual Studio 2012
- 最低 SDK 版本:API 12
我在尝试使用 Android.Support.v4.Content 命名空间中包含的 LocalBroadcastManager 类时遇到了运行时问题。在我的 IDE 中,我明确地添加了引用,并且可以很好地确定命名空间/类的范围,并且在编写了一些代码之后,可以按预期进行编译。但是,在应用程序部署和启动时,我收到错误提示:“NoClassDefFoundError: android/support/v4/content/LocalBroadcastManager”
下面是提示运行时错误的代码(DSC_Discconected_From_Device是一个继承自BroadcastReceiver的类)。它在最后一行停止执行。
IntentFilter filter = new IntentFilter(UsbManager.ActionUsbDeviceDetached);
DSC_Disconnected_From_Device Receiver = new DSC_Disconnected_From_Device();
LocalBroadcastManager.GetInstance(this).RegisterReceiver(Receiver, filter);
在 SDK manager 下,安装了所有的 API 包,以及 extras 下的“Support Library”包。
它在哪里寻找类的定义?我大概已经将源 LocalBroadcastManager.java 复制到了它“可能”正在寻找的 android-sdk 框架中的路径。例如:..\android-sdk\extras\android\support\v4\src\honeycomb\android\support\v4\content\LocalBroadcastManager.java
想法?
编辑:忘了提到我的项目已经在位于我项目根目录的文件夹“libs”中引用了支持库 android-support-v4。我必须创建目录并通过 Visual Studio 添加它。