0

我有一个使用 android-support-v4.jar 的应用程序。这个 jar 在 Eclipse 的构建路径上。如果我右键单击包并配置构建路径,它会作为库出现在那里。在源代码中我可以使用它并且 eclipse 知道它是什么,但是如果我运行应用程序我会得到这个运行时错误

01-13 15:39:51.838: E/AndroidRuntime(12398): FATAL EXCEPTION: main
01-13 15:39:51.838: E/AndroidRuntime(12398): java.lang.NoClassDefFoundError: android.support.v4.content.LocalBroadcastManager
01-13 15:39:51.838: E/AndroidRuntime(12398):    at com.carefreegroup.NfcscannerActivity.processTagWithGPS(NfcscannerActivity.java:1568)
01-13 15:39:51.838: E/AndroidRuntime(12398):    at com.carefreegroup.NfcscannerActivity.onActivityResult(NfcscannerActivity.java:1742)
01-13 15:39:51.838: E/AndroidRuntime(12398):    at android.app.Activity.dispatchActivityResult(Activity.java:4747)
01-13 15:39:51.838: E/AndroidRuntime(12398):    at android.app.ActivityThread.deliverResults(ActivityThread.java:3394)
01-13 15:39:51.838: E/AndroidRuntime(12398):    at android.app.ActivityThread.handleSendResult(ActivityThread.java:3448)
01-13 15:39:51.838: E/AndroidRuntime(12398):    at android.app.ActivityThread.access$1100(ActivityThread.java:139)
01-13 15:39:51.838: E/AndroidRuntime(12398):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1292)
01-13 15:39:51.838: E/AndroidRuntime(12398):    at android.os.Handler.dispatchMessage(Handler.java:99)
01-13 15:39:51.838: E/AndroidRuntime(12398):    at android.os.Looper.loop(Looper.java:156)
01-13 15:39:51.838: E/AndroidRuntime(12398):    at android.app.ActivityThread.main(ActivityThread.java:4987)
01-13 15:39:51.838: E/AndroidRuntime(12398):    at java.lang.reflect.Method.invokeNative(Native Method)
01-13 15:39:51.838: E/AndroidRuntime(12398):    at java.lang.reflect.Method.invoke(Method.java:511)
01-13 15:39:51.838: E/AndroidRuntime(12398):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
01-13 15:39:51.838: E/AndroidRuntime(12398):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
01-13 15:39:51.838: E/AndroidRuntime(12398):    at dalvik.system.NativeStart.main(Native Method)

有人知道为什么吗?提前致谢。

4

4 回答 4

4

这个 jar 在 Eclipse 的构建路径上。

如果您通过手动修改构建路径来做到这一点,那就是您的困难的根源。将 JAR 放入libs/您的项目并撤消您的构建路径更改。中的所有libs/内容都会自动添加到您的编译构建路径中,并打包到您的 APK 中以分发到设备。

于 2013-01-13T15:43:32.217 回答
4

将 jar 文件放在 libs/ 文件夹中,以便它也位于项目的工作区中。这就是我一直没有问题的方式。

将 .jar 拖到 libs 文件夹,然后在构建路径属性中指向它。

于 2013-01-13T15:54:19.493 回答
2

这个问题困扰了我将近六个月,没有解决方案对我有帮助,但今天我自己设法找到了正确的解决方案。

当您选择项目目标版本大于或等于 Android 4.0 Android SDK 在您的项目“libs”文件夹中包含“android-support-v4.jar”文件。此 jar 包含所有与 Android 4.0 或更高版本相关的类和方法

您可以看到您的问题,android 正在尝试查找“android-support-v4.jar”中的类定义,这意味着您尚未配置“android-support-v4.jar”文件的构建路径。请按照以下步骤操作:

1.打开您的项目属性
2.从左侧菜单中选择“Java Build Path”
3.选择“库”选项卡
4.按“添加外部 Jar”
5.最重要的步骤:-
选择“android-support-v4”jar 文件您当前项目位置的“libs”文件夹(路径应该仅属于您的项目,而不是 android sdk)。
6.选择“订购和导出”选项卡和“勾选”“android-support-v4.jar”复选框

就是这样,你完成了!

于 2013-09-17T07:19:38.017 回答
0
  1. 将 android-support-v4.jar 放在项目的 libs/ 中
  2. 将 wearable-preview-support.jar 放在项目的 libs/ 中

干净的构建,它对我有用。

于 2014-05-21T23:30:27.563 回答