简体   繁体   English

java.lang.NoClassDefFoundError:解析失败:Landroidx/camera/core/impl/utils/AspectRatioUtil$CompareAspectRatiosByDistanceToTargetRatio;

[英]java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/camera/core/impl/utils/AspectRatioUtil$CompareAspectRatiosByDistanceToTargetRatio;

I'm making a QrCode Scanner app.我正在制作 QrCode 扫描仪应用程序。

Whenever I open my app it crashes and gives NoClassDefFoundError每当我打开我的应用程序时,它就会崩溃并给出 NoClassDefFoundError

I checked the logcat and found this:-我检查了 logcat,发现了这个:-

2023-01-02 08:53:29.552 27370-27370/com.cheesypc.qrcodescanner E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.cheesypc.qrcodescanner, PID: 27370
java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/camera/core/impl/utils/AspectRatioUtil$CompareAspectRatiosByDistanceToTargetRatio;
    at androidx.camera.camera2.internal.SupportedSurfaceCombination.getSupportedOutputSizes(SupportedSurfaceCombination.java:468)
    at androidx.camera.camera2.internal.SupportedSurfaceCombination.getSuggestedResolutions(SupportedSurfaceCombination.java:240)
    at androidx.camera.camera2.internal.Camera2DeviceSurfaceManager.getSuggestedResolutions(Camera2DeviceSurfaceManager.java:197)
    at androidx.camera.core.internal.CameraUseCaseAdapter.calculateSuggestedResolutions(CameraUseCaseAdapter.java:431)
    at androidx.camera.core.internal.CameraUseCaseAdapter.addUseCases(CameraUseCaseAdapter.java:239)
    at androidx.camera.lifecycle.LifecycleCamera.bind(LifecycleCamera.java:206)
    at androidx.camera.lifecycle.LifecycleCameraRepository.bindToLifecycleCamera(LifecycleCameraRepository.java:283)
    at androidx.camera.lifecycle.ProcessCameraProvider.bindToLifecycle(ProcessCameraProvider.java:538)
    at androidx.camera.lifecycle.ProcessCameraProvider.bindToLifecycle(ProcessCameraProvider.java:363)
    at com.cheesypc.qrcodescanner.HomeScreenKt$Scanner$1$2.invoke(HomeScreen.kt:79)
    at com.cheesypc.qrcodescanner.HomeScreenKt$Scanner$1$2.invoke(HomeScreen.kt:60)
    at androidx.compose.ui.viewinterop.ViewFactoryHolder.setFactory(AndroidView.android.kt:174)
    at androidx.compose.ui.viewinterop.AndroidView_androidKt$AndroidView$1.invoke(AndroidView.android.kt:116)
    at androidx.compose.ui.viewinterop.AndroidView_androidKt$AndroidView$1.invoke(AndroidView.android.kt:113)
    at androidx.compose.ui.viewinterop.AndroidView_androidKt$AndroidView$$inlined$ComposeNode$1.invoke(Composables.kt:254)
    at androidx.compose.runtime.ComposerImpl$createNode$2.invoke(Composer.kt:1537)
    at androidx.compose.runtime.ComposerImpl$createNode$2.invoke(Composer.kt:1535)
    at androidx.compose.runtime.ComposerImpl$recordInsert$2.invoke(Composer.kt:3395)
    at androidx.compose.runtime.ComposerImpl$recordInsert$2.invoke(Composer.kt:3392)
    at androidx.compose.runtime.CompositionImpl.applyChangesInLocked(Composition.kt:782)
    at androidx.compose.runtime.CompositionImpl.applyChanges(Composition.kt:813)
    at androidx.compose.runtime.Recomposer.composeInitial$runtime_release(Recomposer.kt:827)
    at androidx.compose.runtime.CompositionImpl.setContent(Composition.kt:519)
    at androidx.compose.ui.platform.WrappedComposition$setContent$1.invoke(Wrapper.android.kt:140)
    at androidx.compose.ui.platform.WrappedComposition$setContent$1.invoke(Wrapper.android.kt:131)
    at androidx.compose.ui.platform.AndroidComposeView.setOnViewTreeOwnersAvailable(AndroidComposeView.android.kt:1015)
    at androidx.compose.ui.platform.WrappedComposition.setContent(Wrapper.android.kt:131)
    at androidx.compose.ui.platform.WrappedComposition.onStateChanged(Wrapper.android.kt:182)
    at androidx.lifecycle.LifecycleRegistry$ObserverWithState.dispatchEvent(LifecycleRegistry.java:360)
    at androidx.lifecycle.LifecycleRegistry.addObserver(LifecycleRegistry.java:202)
    at androidx.compose.ui.platform.WrappedComposition$setContent$1.invoke(Wrapper.android.kt:138)
    at androidx.compose.ui.platform.WrappedComposition$setContent$1.invoke(Wrapper.android.kt:131)
    at androidx.compose.ui.platform.AndroidComposeView.onAttachedToWindow(AndroidComposeView.android.kt:1102)
    at android.view.View.dispatchAttachedToWindow(View.java:18359)
    at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3397)
    at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3404)
    at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3404)
    at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3404)
    at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3404)
    at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1773)
    at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1471)

2023-01-02 08:53:29.556 27370-27370/com.cheesypc.qrcodescanner E/AndroidRuntime: at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7211) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1004) at android.view.Choreographer.doCallbacks(Choreographer.java:816) at android.view.Choreographer.doFrame(Choreographer.java:751) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:990) at android.os.Handler.handleCallback(Handler.java:873) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:193) at android.app.ActivityThread.main(ActivityThread.java:6692) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) at com. 2023-01-02 08:53:29.556 27370-27370/com.cheesypc.qrcodescanner E/AndroidRuntime: at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7211) at android.view.Choreographer$CallbackRecord.run (Choreographer.java:1004) at android.view.Choreographer.doCallbacks(Choreographer.java:816) at android.view.Choreographer.doFrame(Choreographer.java:751) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer. java:990) at android.os.Handler.handleCallback(Handler.java:873) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:193) at android.app.ActivityThread.main(ActivityThread.java:6692) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) at com. android.internal.os.ZygoteInit.main(ZygoteInit.java:858) Caused by: java.lang.ClassNotFoundException: Didn't find class "androidx.camera.core.impl.utils.AspectRatioUtil$CompareAspectRatiosByDistanceToTargetRatio" on path: DexPathList[[zip file "/data/app/com.cheesypc.qrcodescanner-Bpfcr28b32Uq7ZGMUq2TGQ==/base.apk"],nativeLibraryDirectories=[/data/app/com.cheesypc.qrcodescanner-Bpfcr28b32Uq7ZGMUq2TGQ==/lib/arm64, /data/app/com.cheesypc.qrcodescanner-Bpfcr28b32Uq7ZGMUq2TGQ==/base.apk,/lib/arm64-v8a, /system/lib64. android.internal.os.ZygoteInit.main(ZygoteInit.java:858) Caused by: java.lang.ClassNotFoundException: Didn't find class "androidx.camera.core.impl.utils.AspectRatioUtil$CompareAspectRatiosByDistanceToTargetRatio" on path: DexPathList[ [zip 文件“/data/app/com.cheesypc.qrcodescanner-Bpfcr28b32Uq7ZGMUq2TGQ==/base.apk”],nativeLibraryDirectories=[/data/app/com.cheesypc.qrcodescanner-Bpfcr28b32Uq7ZGMUq2TGQ==/lib/arm64,/data/ app/com.cheesypc.qrcodescanner-Bpfcr28b32Uq7ZGMUq2TGQ==/base.apk,/lib/arm64-v8a,/system/lib64。 /vendor/lib64]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader:java.134) at java.lang.ClassLoader.loadClass(ClassLoader:java.379) at java.lang.ClassLoader.loadClass(ClassLoader:java.312)... 53 more /vendor/lib64]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader:java.134) at java.lang.ClassLoader.loadClass(ClassLoader:java.379) at java.lang.ClassLoader.loadClass(ClassLoader:java.312)... 53 more

and the error showing on AndroidView() and try{ cameraProviderFuture.get().bindToLifecycle }以及AndroidView()上显示的错误并尝试{ cameraProviderFuture.get().bindToLifecycle }

AndroidView(
            factory = { context ->
                val previewView = PreviewView(context)
                val preview = Preview.Builder().build()
                val selector = CameraSelector.Builder()
                    .requireLensFacing(CameraSelector.LENS_FACING_BACK)
                    .build()
                preview.setSurfaceProvider(previewView.surfaceProvider)
                val imageAnalysis = ImageAnalysis.Builder()
                    .setTargetResolution(Size(previewView.width, previewView.height))
                    .setBackpressureStrategy(STRATEGY_KEEP_ONLY_LATEST)
                    .build()
                imageAnalysis.setAnalyzer(
                    ContextCompat.getMainExecutor(context),
                    QrCodeAnalyser { result ->
                        code = result
                    }
                )
                try {
                    cameraProviderFuture.get().bindToLifecycle(
                        lifecycleOwner,
                        selector,
                        preview,
                        imageAnalysis
                    )
                } catch (e: Exception) {
                    e.printStackTrace()
                }
                previewView

            }, modifier = Modifier.weight(1f)
        )

I also get that error when using this dependency使用此依赖项时我也会收到该错误

implementation "androidx.camera:camera-camera2:1.2.0"
implementation "androidx.camera:camera-extensions:1.2.0"
implementation "androidx.camera:camera-lifecycle:1.2.0"
implementation "androidx.camera:camera-view:1.3.0-alpha02"

it turns out I have to equate all versions, to 1.2.0.事实证明我必须将所有版本等同于 1.2.0。 After that everything worked之后一切正常

I have had the same issue, you must take into account that all the libraries are in the same stable version, the last one that the documentation indicates is 1.2.0, as you can see in the following image:我遇到了同样的问题,您必须考虑到所有库都在同一个稳定版本中,文档指示的最后一个是 1.2.0,如下图所示:

相机版本

So in the gradle you should define the dependencies as follows:所以在 gradle 你应该定义依赖如下:

implementation("androidx.camera:camera-camera2:1.2.0")
implementation("androidx.camera:camera-extensions:1.2.0")
implementation("androidx.camera:camera-lifecycle:1.2.0")
implementation("androidx.camera:camera-view:1.2.0")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 java.lang.NoClassDefFoundError:解析失败:Landroidx / core / app / ActivityManagerCompat - java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/core/app/ActivityManagerCompat java.lang.NoClassDefFoundError:解析失败:Landroidx/core/view/MenuHost; - java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/core/view/MenuHost; java.lang.NoClassDefFoundError:无法解决以下问题:Landroidx / arch / core / util / Cancellable - java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/arch/core/util/Cancellable java.lang.NoClassDefFoundError:解析失败:Landroidx/appcompat/app/AppCompatActivity - java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/appcompat/app/AppCompatActivity java.lang.NoClassDefFoundError:解析失败:Landroidx/appcompat/app/AppCompatActivity; - java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/appcompat/app/AppCompatActivity; Java.Lang.NoClassDefFoundError: '解析失败: Landroidx/arch/core/executor/ArchTaskExecutor;' - Java.Lang.NoClassDefFoundError: 'Failed resolution of: Landroidx/arch/core/executor/ArchTaskExecutor;' java.lang.NoClassDefFoundError:更新 Gradle Android 插件时失败的解析:Landroidx/work/R - java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/work/R when updating Gradle Android Plugin Android Espresso:java.lang.NoClassDefFoundError:解析失败:Landroidx/test/platform/io/FileTestStorage; - Android Espresso: java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/test/platform/io/FileTestStorage; Xamarin.Android 绑定 Java.Lang.NoClassDefFoundError: '解析失败: Landroidx/viewbinding/ViewBinding;' - Xamarin.Android binding Java.Lang.NoClassDefFoundError: 'Failed resolution of: Landroidx/viewbinding/ViewBinding;' 将 androidx.room 打包到 aar 库中的项目导致 java.lang.NoClassDefFoundError:解析失败:Landroidx/room/RoomDatabase - Project with androidx.room packed into aar library causes java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/room/RoomDatabase
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM