ВМ есть поддержка мультидекса, библиотека поддержки MultiDex отключена. вопрос

Я уже перепробовал все решения, которые есть в интернете, но любое из них работает, это мой вариант.

android {
    compileSdkVersion 25
    buildToolsVersion '25.0.0'

defaultConfig {
    applicationId "com.rocketjourney"
    minSdkVersion 21
    targetSdkVersion 24
    versionCode 68
    versionName "4.41"
    multiDexEnabled true
    vectorDrawables.useSupportLibrary = true
    testInstrumentationRunner "com.rocketjourney.helpers.CustomTestRunner"
}

configurations.all {
    resolutionStrategy.force 'com.google.code.findbugs:jsr305:1.3.9'
    resolutionStrategy.force 'com.squareup.okio:okio:1.13.0'
    resolutionStrategy.force 'com.squareup.okhttp3:okhttp:3.8.0'
}

dexOptions {
    javaMaxHeapSize "4g"
    jumboMode = true
}`

repositories {
    mavenCentral()
    maven { url 'http://oss.jfrog.org/artifactory/oss-snapshot-local' }
    maven { url "https://jitpack.io" }
    flatDir { dirs 'libs' }
    flatDir { dirs '../aars' }
    maven { url 'https://maven.fabric.io/public' }
}

dependencies {
    compile('com.crashlytics.sdk.android:crashlytics:2.7.1@aar') { transitive = true; }
    etc...
}`

мой манифест выглядит так:

<application
    android:name="com.rocketjourney.RJApplication"
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"

В моем RJApplication.class У меня есть этот код:

public class RJApplication extends Application {

  @Override
  protected void attachBaseContext(Context base) {
    super.attachBaseContext(base);
  }

Но моя ошибка сейчас заключается в следующем:

11-08 11: 54: 36,494 5743-5743/? E/AndroidRuntime: ФАКТИЧЕСКОЕ ИСКЛЮЧЕНИЕ: основной процесс: com.rocketjourney, PID: 5743 java.lang.NoClassDefFoundError: Ошибка разрешения: Lio/fabric/sdk/android/services/common/FirebaseInfo; в com.crashlytics.android.CrashlyticsInitProvider.onCreate(CrashlyticsInitProvider.java:22) в android.content.ContentProvider.attachInfo(ContentProvider.java:1696) в android.content.ContentProvider.attachInfo и ContentPide.jav71: Content71 app.ActivityThread.installProvider(ActivityThread.java:4999) в android.app.ActivityThread.installContentProviders(ActivityThread.java:4594) в android.app.ActivityThread.handleBindApplication(ActivityThread.java:4534) в android.app.ActivityThread.access$1500(ActivityThread.java:151) на android.app.ActivityThread$H.handleMessage(ActivityThread.java:1364) на android.os.Handler.dispatchMessage(Handler.java:102) на android.os.Looper.loop(Looper.java:135) на android.app.ActivityThread.main(ActivityThread.java:5254) на java.lang.reflect.Method.invoke(собственный метод) на java.lang.reflect.Method.invoke(Method.java:372) в com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) в com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) Причина: java.lang.ClassNotFoundException: не найден класс "io.fabric.sdk.android.services.common.FirebaseInfo" по пути: DexPathList[[zip-файл "/data/app/com.rocketjourney-2/base.apk"],nativeLibraryDirectories=[/data/app/com.rocketjourney-2/lib/x86, /vendor/lib, /system/lib]] в dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) в java.lang.ClassLoader.loadClass(ClassLoader.java:511) в java.lang.ClassLoader.loadClass(ClassLoader.java:469) в com.crashlytics.android.CrashlyticsInitProvider.onCreate (Crashlyitejjj): 22) на android.content.ContentProvider.attachInfo(ContentProvider.java:1696) на android.content.ContentProvider.attachInfo(ContentProvider.java:1671) на android.app.ActivityThread.installProvider(ActivityThread.java:4999) на андроиде. app.ActivityThread.installContentProviders (ActivityThread.java:4594) в android.app.ActivityThread.handleBindApplication(ActivityThread.java:4534) в android.app.ActivityThread.access $ 1500 (действие ivityThread.java:151) в android.app.ActivityThread$H.handleMessage(ActivityThread.java:1364) в android.os.Handler.dispatchMessage(Handler.java:102) в android.os.Looper.loop(Looper.java:135) на android.app.ActivityThread.main(ActivityThread.java:5254) на java.lang.reflect.Method.invoke(собственный метод) на java.lang.reflect.Method.invoke(Method.java:372) на com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) на com.android.internal.os.ZygoteInit.main (ZygoteInit.java:698) Подавлено: java.lang.ClassNotFoundException: io.f.sdk.android.services.common.FirebaseInfo на java.lang.Class.classForName(собственный метод) на java.lang.BootClassLoader.findClass(ClassLoader.java:781) на java.lang.BootClassLoader.loadClass(ClassLoader.java:841) at java.lang.ClassLoader.loadClass(ClassLoader.java:504) ... еще 16 причин: java.lang.NoClassDefFoundError: класс не найден с помощью загрузчика загрузочного класса; нет стека

Надеюсь, вы, ребята, можете мне помочь, я буду очень благодарен!

1 ответ

Вам не нужно добавлять поддержку multidex, если ваш minSdkVersion 21

Из документации:

Поддержка Multidex для Android 5.0 и выше

Android 5.0 (уровень API 21) и выше использует среду выполнения, называемую ART, которая изначально поддерживает загрузку нескольких файлов DEX из файлов APK. ART выполняет предварительную компиляцию во время установки приложения, которая сканирует файлы classesN.dex и компилирует их в один файл.oat для выполнения устройством Android. Поэтому, если ваш minSdkVersion 21 или выше, вам не нужна библиотека поддержки multidex.

Итак, вам нужно удалить compile 'com.android.support:multidex:1.0.1' из вашего билда. Затем вам нужно расширить RJApplication с помощью Application, Также удалите MultiDex.install(this); от твоего attachBaseContext(),

все, что вам нужно сделать, это установить multiDexEnabled в true, добавив multiDexEnabled true, Пожалуйста, обратитесь к разделу Настройка вашего приложения для multidex

Другие вопросы по тегам