Android Studio не удалось решить: открытый файл multidex

Не удалось устранить: multidex Открыть файл

Я обнаружил эту ошибку при синхронизации своего проекта.

apply plugin: 'com.android.library'

android {
    compileSdkVersion rootProject.compileSdkVersion
    buildToolsVersion rootProject.buildToolsVersion

    defaultConfig {
        minSdkVersion 16
        targetSdkVersion rootProject.targetSdkVersion
        versionCode 1
        versionName "1.0"
        multiDexEnabled true
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    def system_dependencies = rootProject.ext.system_dependencies
    compile system_dependencies.appcompat_v7
    testCompile 'junit:junit:4.12'
}

Я добавляю это, но это не работает;

maven {
    url 'https://maven.google.com'
}

Пробую много способов, как решить?

Какая у вас версия Android Studio и Gradle?

LongLv 29.10.2018 05:11

Я решил это.

Dale.Che 29.10.2018 12:51
0
2
1 505
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Добавить зависимость для поддержки Multidex до Android 5.0. Поскольку ваш minSdkVersion 16, вам нужно добавить зависимость для включения multidex.

dependencies {
  implementation 'com.android.support:multidex:1.0.3'
}

Попробуйте этот код

 defaultConfig {
        applicationId "com.test"
        minSdkVersion 17
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        // Enabling multidex support.
        multiDexEnabled true
    }

 dependencies {
     //Multidex support for devices prior to lollipop
     implementation 'com.android.support:multidex:1.0.1'
 }

Класс приложения

package appUtils;

import android.app.Application;
import android.content.Context;
import android.os.Build;
import android.support.multidex.MultiDex;



public class App extends Application {
    @Override
    public void onCreate() {
        super.onCreate();

    }

    @Override
    protected void attachBaseContext(Context base) {
        super.attachBaseContext(base);
        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) MultiDex.install(this);
    }
}
Ответ принят как подходящий

В проекте build.gradle

    allprojects {
    repositories {
        /**
         * This must be at the top.
         */
        maven {
            url 'https://maven.google.com'
        }
        // Others 
        maven { url "..." }
        jcenter()
        mavenCentral()
        google()
    }
   }

Спасибо, что спас мою ночь! Во всех других ответах на связанные вопросы говорилось, что вы должны поместить google () перед всеми другими репозиториями, но установка maven { url 'https://maven.google.com' } решила проблему!

MH. Abdi 26.03.2020 17:32

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