Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/225.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 应用程序正在崩溃Java.lang.NoClassDefFoundError:com.abhi.barcode.frag.libv2.R$string_Android - Fatal编程技术网

Android 应用程序正在崩溃Java.lang.NoClassDefFoundError:com.abhi.barcode.frag.libv2.R$string

Android 应用程序正在崩溃Java.lang.NoClassDefFoundError:com.abhi.barcode.frag.libv2.R$string,android,Android,您好,我遇到了一些问题,这让我痛苦了一周。当我打开片段QRcode读取器时,应用程序是基于片段构建的。只要我切换到另一个并再次切换,它就会正常工作,然后出现错误。我想onDestroy和onCreateView方法可能有问题 FATAL EXCEPTION: main java.lang.NoClassDefFoundError: com.abhi.barcode.frag.libv2.R$string at com.abhi.barcode.frag.libv2.Barcode

您好,我遇到了一些问题,这让我痛苦了一周。当我打开片段QRcode读取器时,应用程序是基于片段构建的。只要我切换到另一个并再次切换,它就会正常工作,然后出现错误。我想onDestroy和onCreateView方法可能有问题

FATAL EXCEPTION: main
java.lang.NoClassDefFoundError: com.abhi.barcode.frag.libv2.R$string
        at com.abhi.barcode.frag.libv2.BarcodeFragment.displayFrameworkBugMessageAndExit(BarcodeFragment.java:345)
        at com.abhi.barcode.frag.libv2.BarcodeFragment.initCamera(BarcodeFragment.java:338)
        at com.abhi.barcode.frag.libv2.BarcodeFragment.surfaceCreated(BarcodeFragment.java:212)
        at android.view.SurfaceView.updateWindow(SurfaceView.java:559)
        at android.view.SurfaceView.access$000(SurfaceView.java:82)
        at android.view.SurfaceView$3.onPreDraw(SurfaceView.java:172)
        at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:671)
        at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1822)
        at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1002)
        at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:4216)
        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:736)
        at android.view.Choreographer.doCallbacks(Choreographer.java:566)
        at android.view.Choreographer.doFrame(Choreographer.java:536)
        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:722)
        at android.os.Handler.handleCallback(Handler.java:615)
        at android.os.Handler.dispatchMessage(Handler.java:92)
        at android.os.Looper.loop(Looper.java:137)
        at android.app.ActivityThread.main(ActivityThread.java:4745)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:511)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
        at dalvik.system.NativeStart.main(Native Method)






@Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                                 Bundle savedInstanceState) {
            if (view != null) {
                ViewGroup parent = (ViewGroup) view.getParent();
                if (parent != null)
                    parent.removeView(view);
            }
        try {
            view= inflater.inflate(R.layout.fragment_qr, container, false);
        }catch (InflateException e) {

        }



 @Override
    public void onDestroyView() {
        super.onDestroyView();



Fragment f = getChildFragmentManager().findFragmentById(R.id.qr_scan_fragment);
        if (f != null) {
            getActivity().getSupportFragmentManager().beginTransaction()
                    .remove(f)
                    .commit();
        }


    }

NoClassDefFoundError通常意味着您在编译时在类路径中有该类,但在运行时该类现在从类路径中丢失(因为它只是丢失了,或者因为您有不同的版本,如注释中正确说明的)

这是一个maven项目吗?如果是这样的话,可能您有一个声明为
提供的依赖项
或类似的东西,并且您在运行时缺少库

如果没有,您如何构建和运行代码?从IDE运行时是否存在相同的错误


然而,根本原因很可能是我上面提到的。

这是因为90%的jar丢失或项目绑定错误。请检查项目的首选项,也许您需要做更多的工作。请查看您正在使用的库的文档,一定有说明如何正确绑定库的内容


例如,我不得不在project.properties文件中添加一些行

,这恰好是我遇到的崩溃,解决方案非常简单。我只需将所需的权限和功能添加到清单中,即:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.FLASHLIGHT"/>

<uses-feature android:name="android.hardware.camera"/>
<uses-feature android:name="android.hardware.camera.autofocus"/>


如果您给我们一个代码片段,比如BarcodeFragment的第345行,可能有人可以帮助您。看起来像是
jar
版本不匹配。检查类路径中JAR的版本。是的,它是一个用于读取二维码的库