2

我得到了一个已经在开发中的项目,可以继续进行。在将其导入 Android Studio 并使用库和项目进行所有配置后,我对其进行编译并在设备上运行它,但我总是一遍又一遍地得到 NoClassDefFoundError。

在过去的两天里,我一直在做在网上找到的修复程序并密切关注库。

我目前有这个:

这是主要的android项目: 在此处输入图像描述

这是 lib 项目之一(zxing-android-minimal): 在此处输入图像描述

一旦我构建并将其部署到设备上,我就会得到这个奇妙的错误:

E/AndroidRuntime: FATAL EXCEPTION: main
    java.lang.NoClassDefFoundError: com.google.zxing.client.android.camera.CameraConfigurationManager
    at pt.novabase.ocr.poc.camera.PhotoModule.onResumeAfterSuper(PhotoModule.java:152)
    at pt.novabase.ocr.poc.CameraActivity.onResume(CameraActivity.java:109)
    at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1150)
    at android.app.Activity.performResume(Activity.java:3832)
    at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2231)
    at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2256)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1789)
    at android.app.ActivityThread.access$1500(ActivityThread.java:123)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:939)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:130)
    at android.app.ActivityThread.main(ActivityThread.java:3835)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:507)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:864)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:622)
    at dalvik.system.NativeStart.main(Native Method)

该类com.google.zxing.client.android.camera.CameraConfigurationManager在 zxing 项目中。该项目仅包含在主项目中。

正如我在开始时提到的那样,我尝试了不同的配置,在其他类似问题上建议的库导入,但没有一个有效。因此,出于对失去另一天的工作的绝望,我发布了这个问题。

感谢您对这场噩梦的任何帮助。

4

1 回答 1

2

我发现发生了什么。问题是,当我导入项目时,除了 zxing 项目之外,每个项目都被标记为库。在部署它时,它使用这些项目创建了应用程序,而我的主应用程序无权访问它。

我不得不去各个方面检查 xzing 项目的 is library 模块(出于某种原因,android studio 不像其他项目一样在导入时将其识别为 lib。

于 2013-07-25T13:42:59.880 回答