Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Crash using CameraX library android: java.lang.ClassNotFoundException

I am making a simple camera application using new Jetpack library CameraX. As soon as I launch the application just by adding dependencies it is crashing.

Dependencies:

implementation "androidx.camera:camera-core:1.0.0-alpha06"
implementation "androidx.camera:camera-camera2:1.0.0-alpha06"

Crash Logs:

2019-11-28 16:16:45.828 26428-26428/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.ananth.camerax, PID: 26428
java.lang.RuntimeException: Unable to get provider androidx.camera.camera2.impl.Camera2Initializer: java.lang.ClassNotFoundException: Didn't find class "androidx.camera.camera2.impl.Camera2Initializer" on path: DexPathList[[zip file "/data/app/com.ananth.camerax-5fK5oVGKPPgZn_ITpYwEsA==/base.apk"],nativeLibraryDirectories=[/data/app/com.ananth.camerax-5fK5oVGKPPgZn_ITpYwEsA==/lib/arm64, /system/lib64, /system/vendor/lib64]]
    at android.app.ActivityThread.installProvider(ActivityThread.java:6444)
    at android.app.ActivityThread.installContentProviders(ActivityThread.java:5946)
    at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5858)
    at android.app.ActivityThread.-wrap1(Unknown Source:0)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1690)
    at android.os.Handler.dispatchMessage(Handler.java:105)
    at android.os.Looper.loop(Looper.java:173)
    at android.app.ActivityThread.main(ActivityThread.java:6698)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:782)
 Caused by: java.lang.ClassNotFoundException: Didn't find class "androidx.camera.camera2.impl.Camera2Initializer" on path: DexPathList[[zip file "/data/app/com.ananth.camerax-5fK5oVGKPPgZn_ITpYwEsA==/base.apk"],nativeLibraryDirectories=[/data/app/com.ananth.camerax-5fK5oVGKPPgZn_ITpYwEsA==/lib/arm64, /system/lib64, /system/vendor/lib64]]
    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:93)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
    at android.app.ActivityThread.installProvider(ActivityThread.java:6420)
    at android.app.ActivityThread.installContentProviders(ActivityThread.java:5946) 
    at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5858) 
    at android.app.ActivityThread.-wrap1(Unknown Source:0) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1690) 
    at android.os.Handler.dispatchMessage(Handler.java:105) 
    at android.os.Looper.loop(Looper.java:173) 
    at android.app.ActivityThread.main(ActivityThread.java:6698) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:782) 
    Suppressed: java.io.IOException: Failed to open dex files from /data/app/com.ananth.camerax-5fK5oVGKPPgZn_ITpYwEsA==/base.apk because: Failure to verify dex file '/data/app/com.ananth.camerax-5fK5oVGKPPgZn_ITpYwEsA==/base.apk': Bad method handle type 7
    at dalvik.system.DexFile.openDexFileNative(Native Method)
    at dalvik.system.DexFile.openDexFile(DexFile.java:353)
    at dalvik.system.DexFile.<init>(DexFile.java:100)
    at dalvik.system.DexFile.<init>(DexFile.java:74)
    at dalvik.system.DexPathList.loadDexFile(DexPathList.java:374)
    at dalvik.system.DexPathList.makeDexElements(DexPathList.java:337)
    at dalvik.system.DexPathList.<init>(DexPathList.java:157)
    at dalvik.system.BaseDexClassLoader.<init>(BaseDexClassLoader.java:65)
    at dalvik.system.PathClassLoader.<init>(PathClassLoader.java:64)
    at com.android.internal.os.PathClassLoaderFactory.createClassLoader(PathClassLoaderFactory.java:43)
    at android.app.ApplicationLoaders.getClassLoader(ApplicationLoaders.java:69)
    at android.app.ApplicationLoaders.getClassLoader(ApplicationLoaders.java:36)
    at android.app.LoadedApk.createOrUpdateClassLoaderLocked(LoadedApk.java:681)
    at android.app.LoadedApk.getClassLoader(LoadedApk.java:714)
    at android.app.LoadedApk.getResources(LoadedApk.java:941)
    at android.app.ContextImpl.createAppContext(ContextImpl.java:2254)
    at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5755)
            ... 8 more

I cannot find any answers for this on SO.

like image 352
Ananth Avatar asked Nov 28 '19 10:11

Ananth


People also ask

What is the classnotfoundexception scenario in Java?

Above scenario is the most common scenario when CLassNotFoundException is raised. However, it can become bit ugly or messy sometimes in a complex web deployment environments. Suppose your application is deployed as an EAR and it contains multiple jar and WAR files, it can sometimes raise this exception because of class visibility issues.

What is “classnotfoundexception” in Eclipse?

Sometimes accidentally the generated class files might be lost or set in different locations and hence there are a lot of chances of “ClassNotFoundException” occurs. After the existence of editors like Eclipse, Netbeans, etc., IDE creates a “ClassPath” file kind of entries.

How to implement camera X app in Android with details?

Following simple steps will show you how to implement this app easily with details. To add dependency on camera X you must add the Google maven repository to your project in build.gradle. Add the following to end of the Android block. dependencies { …

What is Android camera X architecture?

In this tutorial will be looking into Android camera X architecture with basic camera example using Java language and Android IDE. Camera X is jetpack support library used to leverage the capabilities of camera 2 API built to help you make camera based app development easier.


Video Answer


1 Answers

ERROR:

// CameraX
def camerax_version = "1.0.0-beta07"
implementation "androidx.camera:camera-camera2:$camerax_version"
implementation "androidx.camera:camera-lifecycle:$camerax_version"
implementation "androidx.camera:camera-view:1.0.0-alpha20"

SOLUTION:

// CameraX
def camerax_version = '1.0.0-rc01'
implementation "androidx.camera:camera-camera2:$camerax_version"
implementation "androidx.camera:camera-lifecycle:$camerax_version"
implementation "androidx.camera:camera-view:1.0.0-alpha20"
like image 125
Владислав Шестернин Avatar answered Sep 30 '22 10:09

Владислав Шестернин