에러(error)

Bad method handle type 7

 

에러 상세(detail)

W/zygote64: Failure to verify dex file '/data/app/com.caleb.sample-IMczAgLilQZX81L_XDC5og==/split_lib_dependencies_apk.apk': Bad method handle type 7

I/InstantRun: starting instant run server: is main process

D/AndroidRuntime: Shutting down VM

E/AndroidRuntime: FATAL EXCEPTION: main

                  Process: com.caleb.sample, PID: 26983

                  java.lang.RuntimeException: Unable to get provider android.arch.lifecycle.ProcessLifecycleOwnerInitializer: java.lang.ClassNotFoundException: Didn't find class "android.arch.lifecycle.ProcessLifecycleOwnerInitializer" on path: DexPathList[[zip file "/data/app/com.caleb.sample-IMczAgLilQZX81L_XDC5og==/base.apk", zip file "/data/app/com.caleb.sample-...

                      at android.app.ActivityThread.installProvider(ActivityThread.java:6581)

                      ...

E/AndroidRuntime:  Suppressed: java.io.IOException: Failed to open dex files from /data/app/com.caleb.sample-IMczAgLilQZX81L_XDC5og==/split_lib_dependencies_apk.apk because: Failure to verify dex file '/data/app/com.caleb.sample-IMczAgLilQZX81L_XDC5og==/split_lib_dependencies_apk.apk': Bad method handle type 7

                      at dalvik.system.DexFile.openDexFileNative(Native Method)

                      ...

플랫폼(platform)

android studio

 

해결(solution)

사용하는 code or library 중에 JDK 1.8 특징을 사용하고 있는게 있어서 (예를들면 Lambda 표현방법), 빌드시 JDK를 1.8로 설정해서 빌드해주어야 한다. 본인처럼 JDK 1.8이 아닌 JDK 1.7이나 JDK1.6을 사용하고 있다면 JDK 버전을 올리거나 JDK 1.8문법을 제거하면 에러를 해결할 수 있다.

 

참고(solution)

https://stackoverflow.com/questions/50121367/failed-to-verify-dex-bad-method-handle-type-7