我在Android手机上部署Android应用程序时遇到ClassNotFoundException。
我尝试在具有Android 6.0.1和Android 7.1.1的android手机上
而当我在(Nexus 5X API 26)并运行Android 8.0的模拟器上部署相同的应用程序时,我不会遇到任何问题。该应用程序加载平稳。
Build.gradle(应用程序)文件具有
android { compileSdkVersion 28 defaultConfig { applicationId "de.pfiva.mobile.voiceassistant" minSdkVersion 23 targetSdkVersion 28 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } }
我包括了本地专家的依赖。这种依赖关系基本上具有普通的Java类(POJO)。在某些类中,存在类型为java.time.LocalDateTime的字段
我该如何解决这个问题。寻找建议。
谢谢。
例外情况:
E/AndroidRuntime: FATAL EXCEPTION: main Process: de.pfiva.mobile.voiceassistant, PID: 25245 java.lang.NoClassDefFoundError: Failed resolution of: Ljava/time/LocalDateTime; at java.lang.Class.getDeclaredFields(Native Method) at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:150) at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100) at com.google.gson.Gson.getAdapter(Gson.java:423) at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115) at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164) at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100) at com.google.gson.Gson.getAdapter(Gson.java:423) at com.google.gson.internal.bind.CollectionTypeAdapterFactory.create(CollectionTypeAdapterFactory.java:53) at com.google.gson.Gson.getAdapter(Gson.java:423) at retrofit2.converter.gson.GsonConverterFactory.responseBodyConverter(GsonConverterFactory.java:64) at retrofit2.Retrofit.nextResponseBodyConverter(Retrofit.java:330) at retrofit2.Retrofit.responseBodyConverter(Retrofit.java:313) at retrofit2.ServiceMethod$Builder.createResponseConverter(ServiceMethod.java:739) at retrofit2.ServiceMethod$Builder.build(ServiceMethod.java:172) at retrofit2.Retrofit.loadServiceMethod(Retrofit.java:170) at retrofit2.Retrofit$1.invoke(Retrofit.java:147) at java.lang.reflect.Proxy.invoke(Proxy.java:813) at $Proxy0.getNLUData(Unknown Source) at de.pfiva.mobile.voiceassistant.activities.MainActivity.onCreate(MainActivity.java:41) at android.app.Activity.performCreate(Activity.java:6826) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1121) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2656) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2764) at android.app.ActivityThread.-wrap12(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1502) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6173) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:933) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:823) Caused by: java.lang.ClassNotFoundException: Didn't find class "java.time.LocalDateTime" on path: DexPathList[[zip file "/data/app/de.pfiva.mobile.voiceassistant-1/base.apk", zip file "/data/app/de.pfiva.mobile.voiceassistant-1/split_lib_dependencies_apk.apk", zip file "/data/app/de.pfiva.mobile.voiceassistant-1/split_lib_slice_0_apk.apk", zip file "/data/app/de.pfiva.mobile.voiceassistant-1/split_lib_slice_1_apk.apk", zip file "/data/app/de.pfiva.mobile.voiceassistant-1/split_lib_slice_2_apk.apk", zip file "/data/app/de.pfiva.mobile.voiceassistant-1/split_lib_slice_3_apk.apk", zip file "/data/app/de.pfiva.mobile.voiceassistant-1/split_lib_slice_4_apk.apk", zip file "/data/app/de.pfiva.mobile.voiceassistant-1/split_lib_slice_5_apk.apk", zip file "/data/app/de.pfiva.mobile.voiceassistant-1/split_lib_slice_6_apk.apk", zip file "/data/app/de.pfiva.mobile.voiceassistant-1/split_lib_slice_7_apk.apk", zip file "/data/app/de.pfiva.mobile.voiceassistant-1/split_lib_slice_8_apk.apk", zip file "/data/app/de.pfiva.mobile.voiceassistant-1/split_lib_slice_9_apk.apk"],nativeLibraryDirectories=[/data/app/de.pfiva.mobile.voiceassistant-1/lib/arm64, /system/lib64, /vendor/lib64]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) at java.lang.ClassLoader.loadClass(ClassLoader.java:380) at java.lang.ClassLoader.loadClass(ClassLoader.java:312) at java.lang.Class.getDeclaredFields(Native Method) at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:150) at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100) at com.google.gson.Gson.getAdapter(Gson.java:423) at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:115) at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:164) at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100) at com.google.gson.Gson.getAdapter(Gson.java:423) at com.google.gson.internal.bind.CollectionTypeAdapterFactory.create(CollectionTypeAdapterFactory.java:53) at com.google.gson.Gson.getAdapter(Gson.java:423) at retrofit2.converter.gson.GsonConverterFactory.responseBodyConverter(GsonConverterFactory.java:64) at retrofit2.Retrofit.nextResponseBodyConverter(Retrofit.java:330) at retrofit2.Retrofit.responseBodyConverter(Retrofit.java:313) at retrofit2.ServiceMethod$Builder.createResponseConverter(ServiceMethod.java:739) at retrofit2.ServiceMethod$Builder.build(ServiceMethod.java:172) at retrofit2.Retrofit.loadServiceMethod(Retrofit.java:170) at retrofit2.Retrofit$1.invoke(Retrofit.java:147) at java.lang.reflect.Proxy.invoke(Proxy.java:813) at $Proxy0.getNLUData(Unknown Source) at de.pfiva.mobile.voiceassistant.activities.MainActivity.onCreate(MainActivity.java:41) at android.app.Activity.performCreate(Activity.java:6826) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1121) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2656) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2764) at android.app.ActivityThread.-wrap12(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1502) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6173) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:933) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:823)
如此处所述,该 java.time程序包在API 26(Android O)及更高版本中可用。
java.time