NoClassDefFoundError仅适用于API 22

我正在开发一个用于API 23和22的项目,但是,一旦应用程序启动崩溃(活动甚至无法加载),只会发生API 22,API 23它工作正常。 这个日志对我没有太大的帮助,而且我对于可能导致这个错误发生的想法已经不知所措了。 它抱怨的类是清单中定义的App类。 以下是一些可能有助于分析的代码:

表现:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="br.com.gogame"> <application android:name=".commons.infra.App" android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:installLocation="preferExternal" android:label="@string/app_name" android:largeHeap="true" android:theme="@style/AppTheme"> <meta-data android:name="DATABASE" android:value="gogame.db" /> <meta-data android:name="VERSION" android:value="27" /> <meta-data android:name="QUERY_LOG" android:value="false" /> <meta-data android:name="DOMAIN_PACKAGE_NAME" android:value="br.com.gogame.model" /> <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> <activity android:name=".view.activities.ActivityLogin" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> 

应用程序类(它所抱怨的那个不存在):

公共类App扩展com.orm.SugarApp {

 private static App mApp = null; private static MainComponent component; private static RestTemplate mRequestService = new RestTemplate(); @Override public void onCreate() { super.onCreate(); mApp = this; component = DaggerMainComponent .builder() .utilModule(new UtilModule(this)) .postmanModule(new PostmanModule(mRequestService)) .controllerModule(new ControllerModule()) .build(); Intent intent = new Intent(this, EventListener.class); startService(intent); } public static Application getApplication() { return mApp; } public static Context getContext() { if (mApp == null) { return new Application(); } return mApp.getApplicationContext(); } public static MainComponent getComponent() { return component; } public static boolean isApplicationInBackground() { boolean isInBackground = true; ActivityManager am = (ActivityManager) mApp.getApplicationContext().getSystemService(Context.ACTIVITY_SERVICE); if (Build.VERSION.SDK_INT > Build.VERSION_CODES.KITKAT_WATCH) { List<ActivityManager.RunningAppProcessInfo> runningProcesses = am.getRunningAppProcesses(); for (ActivityManager.RunningAppProcessInfo processInfo : runningProcesses) { if (processInfo.importance == ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND) { for (String activeProcess : processInfo.pkgList) { if (activeProcess.equals(mApp.getApplicationContext().getPackageName())) { isInBackground = false; } } } } } else { List<ActivityManager.RunningTaskInfo> taskInfo = am.getRunningTasks(1); ComponentName componentInfo = taskInfo.get(0).topActivity; if (componentInfo.getPackageName().equals(mApp.getApplicationContext().getPackageName())) { isInBackground = false; } } return isInBackground; } 

}

logcat的:

  FATAL EXCEPTION: main Process: br.com.gogame, PID: 31071 java.lang.RuntimeException: Unable to instantiate application br.com.gogame.commons.infra.App: java.lang.ClassNotFoundException: Didn't find class "br.com.gogame.commons.infra.App" on path: DexPathList[[zip file "/data/app/br.com.gogame-1/base.apk"],nativeLibraryDirectories=[/data/app/br.com.gogame-1/lib/arm, /vendor/lib, /system/lib]] at android.app.LoadedApk.makeApplication(LoadedApk.java:563) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4611) at android.app.ActivityThread.access$1500(ActivityThread.java:155) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1378) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5343) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:905) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:700) Caused by: java.lang.ClassNotFoundException: Didn't find class "br.com.gogame.commons.infra.App" on path: DexPathList[[zip file "/data/app/br.com.gogame-1/base.apk"],nativeLibraryDirectories=[/data/app/br.com.gogame-1/lib/arm, /vendor/lib, /system/lib]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) at java.lang.ClassLoader.loadClass(ClassLoader.java:511) at java.lang.ClassLoader.loadClass(ClassLoader.java:469) at android.app.Instrumentation.newApplication(Instrumentation.java:1003) at android.app.LoadedApk.makeApplication(LoadedApk.java:558) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4611) at android.app.ActivityThread.access$1500(ActivityThread.java:155) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1378) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5343) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:905) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:700) Suppressed: java.lang.ClassNotFoundException: br.com.gogame.commons.infra.App at java.lang.Class.classForName(Native Method) at java.lang.BootClassLoader.findClass(ClassLoader.java:781) at java.lang.BootClassLoader.loadClass(ClassLoader.java:841) at java.lang.ClassLoader.loadClass(ClassLoader.java:504) ... 13 more Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available 

摇篮

 apply plugin: 'com.android.application' 

应用插件:'kotlin-android'应用插件:'kotlin-android-extensions'apply plugin:'com.neenbedankt.android-apt'

android {compileSdkVersion 24 buildToolsVersion“23.0.2”compileOptions.incremental = false

 sourceSets { main.java.srcDirs += 'src/main/kotlin' } dexOptions { javaMaxHeapSize "4g" } defaultConfig { applicationId "br.com.gogame" minSdkVersion 21 targetSdkVersion 24 versionCode 1 versionName "1.0" multiDexEnabled true renderscriptTargetApi 23 } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } 

}

依赖关系{compile fileTree(include:['* .jar'],dir:'libs')testCompile'junit:junit:4.12'testCompile'org.mockito:mockito-core:1.10.19'

 // GOOGLE LIBRARIES compile "com.android.support:appcompat-v7:$support_version" compile "com.android.support:recyclerview-v7:$support_version" compile "com.android.support:cardview-v7:$support_version" compile "com.android.support:design:$support_version" compile 'com.google.firebase:firebase-messaging:9.4.0' compile 'com.google.guava:guava:18.0' compile 'com.google.code.gson:gson:2.4' compile 'com.google.dagger:dagger:2.1' provided 'com.google.dagger:dagger-compiler:2.1' provided 'org.glassfish:javax.annotation:10.0-b28' compile 'com.android.volley:volley:1.0.0' // KOTLIN compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" compile "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version" // ANKO compile "org.jetbrains.anko:anko-common:$anko_version" compile "org.jetbrains.anko:anko-sdk15:$anko_version" compile "org.jetbrains.anko:anko-support-v4:$anko_version" compile "org.jetbrains.anko:anko-appcompat-v7:$anko_version" // APACHE LIBRARIES compile 'org.apache.httpcomponents:httpmime:4.0-alpha3' // OWN THIRD LIBRARIES compile 'br.com.instachat:emoji-library:1.0.8' compile 'br.com.edsilfer:kiwi:1.0.16' // THIRD PART LIBRARIES compile 'com.mikhaellopez:circularimageview:2.0.2' compile 'com.squareup.picasso:picasso:2.5.2' compile 'com.github.vajro:MaterialDesignLibrary:1.6' compile 'com.ogaclejapan.smarttablayout:library:1.6.0@aar' compile 'com.github.rey5137:material:1.2.2' compile 'com.appyvet:materialrangebar:1.3' compile 'com.github.afollestad.material-dialogs:core:0.8.5.6@aar' compile 'com.wang.avi:library:1.0.5' compile 'com.nineoldandroids:library:2.4.0' compile "com.mikepenz:iconics-core:2.6.6@aar" compile 'com.mikepenz:fastadapter:1.5.6@aar' compile 'com.mikepenz:aboutlibraries:5.6.6@aar' compile 'com.wdullaer:materialdatetimepicker:2.3.0' compile 'javax.inject:javax.inject:1' compile 'com.github.satyan:sugar:1.5' compile 'pl.droidsonroids.gif:android-gif-drawable:1.1.15' compile 'com.yalantis:ucrop:1.5.0' compile 'com.melnykov:floatingactionbutton:1.3.0' compile 'org.adw.library:discrete-seekbar:1.0.1' compile 'com.wang.avi:library:1.0.5' compile 'jp.wasabeef:blurry:2.0.2' compile 'com.ToxicBakery.viewpager.transforms:view-pager-transforms:1.2.32@aar' compile 'com.github.d-max:spots-dialog:0.4@aar' provided 'javax.annotation:jsr250-api:1.0' 

}

buildscript {repositories {jcenter()} dependencies {classpath“org.jetbrains.kotlin:kotlin-android-extensions:$ kotlin_version”}}

应用插件:“com.google.gms.google-services”

你要踢自己..

在清单软件包名称是缺少br在开始它应该是:br.com.gogame.commons.infra.App

你反而把它作为.com.gogame.commons.infra.App这将无法正常工作,因此类没有发现错误