Ошибка при использовании multidex (minSdk 14) com.android.build.api.transform.TransformException: Error while generating the main dex list

367
08 февраля 2019, 00:10

Мне нужно использовать multidex что бы добавить рекламу от Appodeal в свое приложение. На minSdk 21 все работает нормально, но когда ставлю minSdk 14 (который мне нужен) выбивает ошибку:

*FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':app:transformClassesWithMultidexlistForDebug'.

com.android.build.api.transform.TransformException: Error while generating the main dex list. * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights. * Get more help at https://help.gradle.org BUILD FAILED in 43s*

Помогите, может кто сталкивался пробовал много решений которые находил на форумах, но ни одно не помогло.

Мой build.gradle (app):

apply plugin: 'com.android.application'
android {
    compileSdkVersion 26
    defaultConfig {
        applicationId "apid"
        minSdkVersion 14
        targetSdkVersion 26
        versionCode 21
        versionName "20.1"
        multiDexEnabled true
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

}

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    //noinspection GradleCompatible
    implementation 'com.android.support:appcompat-v7:26.1.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    implementation 'com.android.support:support-v4:26.1.0'
    implementation 'com.android.support:design:26.1.0'
    implementation 'com.google.firebase:firebase-core:16.0.4'
    implementation 'com.google.firebase:firebase-firestore:17.1.1'
    implementation 'com.google.android.gms:play-services-ads:17.0.0'
    implementation 'com.google.android.gms:play-services-location:16.0.0'
    implementation 'com.android.support:multidex:1.0.3'
    //Appodeal
    implementation 'com.squareup.picasso:picasso:2.5.2' //for Inmobi
    implementation name: 'adcolony-sdk-3.2.1', ext: 'aar'
    implementation  name: 'mmedia-6.4.0', ext: 'aar'
    implementation name: 'mobvista_alphab', ext: 'aar'
    implementation name: 'mobvista_appwall', ext: 'aar'
    implementation name: 'mobvista_appwallext', ext: 'aar'
    implementation name: 'mobvista_common', ext: 'aar'
    implementation  name: 'mobvista_interstitial', ext: 'aar'
    implementation name: 'mobvista_mvdownloads', ext: 'aar'
    implementation name: 'mobvista_mvjscommon', ext: 'aar'
    implementation name: 'mobvista_mvnative', ext: 'aar'
    implementation name: 'mobvista_nativeex', ext: 'aar'
    implementation name: 'mobvista_offerwall', ext: 'aar'
    implementation name: 'mobvista_playercommon', ext: 'aar'
    implementation name: 'mobvista_reward', ext: 'aar'
    implementation name: 'mobvista_videocommon', ext: 'aar'
    implementation name: 'mobvista_videofeeds', ext: 'aar'
}
apply plugin: 'com.google.gms.google-services'

Мой build.gradle(project):

buildscript {
    repositories {
        jcenter()
        google()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.2.0'
        classpath 'com.google.gms:google-services:4.1.0' // google-services plugin

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}
allprojects {
    repositories {
        flatDir {
            dirs 'libs'
        }
        maven {
            url "https://maven.google.com"
        }
        jcenter()
    }
}
task clean(type: Delete) {
    delete rootProject.buildDir
}

Мой Манифест:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="apid">
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <!--optional -->
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <!--optional-->
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher_round"
        android:textIsSelectable="true"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme"
        android:name="android.support.multidex.MultiDexApplication"
    tools:ignore="GoogleAppIndexingWarning">
        <meta-data
            android:name="com.google.android.gms.ads.APPLICATION_ID"
            android:value="apid"/>
        <activity android:name=".MainActivity"
            android:configChanges="orientation|screenSize"
            >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <activity android:name="com.appodeal.ads.InterstitialActivity"
            android:configChanges="orientation|screenSize"
            android:theme="@android:style/Theme.NoTitleBar.Fullscreen" />
        <activity android:name="com.appodeal.ads.VideoActivity"
            android:configChanges="orientation|screenSize"
            android:theme="@android:style/Theme.NoTitleBar.Fullscreen" />
        <activity android:name="com.appodeal.ads.LoaderActivity"
            android:configChanges="orientation|screenSize"
            android:theme="@android:style/Theme.NoTitleBar.Fullscreen" />
        <activity android:name="com.appodeal.ads.VideoPlayerActivity"
            android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"/>
        <receiver android:name="com.appodeal.ads.AppodealPackageAddedReceiver" android:exported="true" android:enabled="true">
            <intent-filter>
                <action android:name="android.intent.action.PACKAGE_ADDED" />
                <data android:scheme="package" />
            </intent-filter>
        </receiver>
        <activity android:name="com.appodeal.ads.TestActivity"
            android:theme="@android:style/Theme.Translucent.NoTitleBar" />
        <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
        <activity android:name="com.google.android.gms.ads.AdActivity"
            android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
            android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
            tools:replace="android:theme" />
        <activity android:name="com.chartboost.sdk.CBImpressionActivity" android:excludeFromRecents="true"
            android:hardwareAccelerated="true" android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"
            android:configChanges="keyboardHidden|orientation|screenSize" />
        <activity android:name="com.applovin.adview.AppLovinInterstitialActivity" android:configChanges="orientation|screenSize"/>
        <activity android:name="com.applovin.adview.AppLovinConfirmationActivity" android:configChanges="orientation|screenSize"/>
        <activity android:name="com.mopub.mobileads.MoPubActivity"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen" />
        <activity android:name="com.mopub.common.MoPubBrowser"
            android:configChanges="keyboardHidden|orientation|screenSize" />
        <activity android:name="com.mopub.mobileads.MraidActivity"
            android:configChanges="keyboardHidden|orientation|screenSize" />
        <activity android:name="com.mopub.mobileads.MraidVideoPlayerActivity"
            android:configChanges="keyboardHidden|orientation|screenSize" />
        <activity android:name="com.mopub.mobileads.RewardedMraidActivity"
            android:configChanges="keyboardHidden|orientation|screenSize"/>
        <activity android:name="org.nexage.sourcekit.vast.activity.VASTActivity"
            android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
            android:configChanges="keyboardHidden|orientation|screenSize"/>
        <activity android:name="org.nexage.sourcekit.vast.activity.VPAIDActivity"
            android:theme="@android:style/Theme.NoTitleBar.Fullscreen" />
        <activity android:name="com.appodeal.ads.networks.vpaid.VPAIDActivity"
            android:theme="@android:style/Theme.NoTitleBar.Fullscreen" />
        <activity android:name="com.amazon.device.ads.AdActivity" android:configChanges="keyboardHidden|orientation|screenSize"/>
        <activity android:name="com.my.target.ads.MyTargetActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
            android:hardwareAccelerated="true"/>
        <!--suppress AndroidDomInspection -->
        <activity android:name="com.facebook.ads.AudienceNetworkActivity" android:configChanges="keyboardHidden|orientation|screenSize" />
        <!--suppress AndroidDomInspection -->
        <activity android:name="com.startapp.android.publish.ads.list3d.List3DActivity"
            android:theme="@android:style/Theme" />
        <!--suppress AndroidDomInspection -->
        <activity android:name="com.startapp.android.publish.adsCommon.activities.OverlayActivity"
            android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
            android:configChanges="orientation|keyboardHidden|screenSize" />
        <!--suppress AndroidDomInspection -->
        <activity android:name="com.startapp.android.publish.adsCommon.activities.FullScreenActivity"
            android:theme="@android:style/Theme"
            android:configChanges="orientation|keyboardHidden|screenSize" />
        <!--suppress AndroidDomInspection -->
        <service android:name="com.startapp.android.publish.common.metaData.PeriodicMetaDataService" />
        <!--suppress AndroidDomInspection -->
        <service android:name="com.startapp.android.publish.common.metaData.InfoEventService" />
        <receiver android:name="com.startapp.android.publish.common.metaData.BootCompleteListener" >
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />
            </intent-filter>
        </receiver>

        <service android:name="com.yandex.metrica.MetricaService" android:enabled="true"
            android:exported="true" android:process=":Metrica">
            <intent-filter>
                <category android:name="android.intent.category.DEFAULT" />
                <action android:name="com.yandex.metrica.IMetricaService" />
                <data android:scheme="metrica" />
            </intent-filter>
            <meta-data android:name="metrica:api:level" android:value="58" />
        </service>
        <receiver android:name="com.yandex.metrica.MetricaEventHandler"
            android:enabled="true" android:exported="true">
            <intent-filter>
                <action android:name="com.android.vending.INSTALL_REFERRER" />
            </intent-filter>
        </receiver>
        <!--suppress AndroidDomInspection -->
        <activity android:name="com.yandex.mobile.ads.AdActivity"
            android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />
        <activity android:name="com.unity3d.ads.adunit.AdUnitActivity"
            android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen"
            android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:hardwareAccelerated="true" />
        <activity android:name="com.unity3d.ads.adunit.AdUnitSoftwareActivity"
            android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen"
            android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:hardwareAccelerated="false" />
        <activity android:name="com.unity3d.ads2.adunit.AdUnitActivity"
            android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen"
            android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:hardwareAccelerated="true" />
        <activity android:name="com.unity3d.ads2.adunit.AdUnitSoftwareActivity"
            android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen"
            android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:hardwareAccelerated="false" />
        <!--suppress AndroidDomInspection -->
        <activity android:name="com.jirbo.adcolony.AdColonyOverlay"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen" />
        <!--suppress AndroidDomInspection -->
        <activity android:name="com.jirbo.adcolony.AdColonyFullscreen"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" />
        <!--suppress AndroidDomInspection -->
        <activity android:name="com.jirbo.adcolony.AdColonyBrowser"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" />
        <!--suppress AndroidDomInspection -->
        <activity android:name="com.vungle.publisher.VideoFullScreenAdActivity"
            android:configChanges="keyboardHidden|orientation|screenSize|screenLayout|smallestScreenSize"
            android:theme="@android:style/Theme.NoTitleBar.Fullscreen"/>
        <!--suppress AndroidDomInspection -->
        <activity android:name="com.vungle.publisher.MraidFullScreenAdActivity"
            android:configChanges="keyboardHidden|orientation|screenSize|screenLayout|smallestScreenSize"
            android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"/>
        <!--suppress AndroidDomInspection -->
        <activity android:name="com.vungle.publisher.FlexViewAdActivity"
            android:configChanges="keyboardHidden|orientation|screenSize|screenLayout|smallestScreenSize"
            android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"/>
        <!--suppress AndroidDomInspection -->
        <activity android:name="com.flurry.android.FlurryFullscreenTakeoverActivity"
            android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
            android:theme="@android:style/Theme.Translucent.NoTitleBar" />
        <!--suppress AndroidDomInspection -->
        <activity android:name="com.flurry.android.FlurryShareActivity"
            android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
            android:theme="@android:style/Theme.Translucent.NoTitleBar" />
        <!--suppress AndroidDomInspection -->
        <activity android:name="com.flurry.android.FlurryTileAdActivity"
            android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
            android:screenOrientation="portrait"
            android:theme="@android:style/Theme.Translucent.NoTitleBar" />
        <!--suppress AndroidDomInspection -->
        <activity android:name="com.flurry.android.FlurryBrowserActivity"
            android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
            android:theme="@android:style/Theme.Translucent.NoTitleBar" />
        <activity android:name="com.mobvista.msdk.offerwall.view.MVOfferWallActivity"
            android:configChanges="screenSize|orientation"
            android:screenOrientation="portrait" />
        <activity android:name="com.mobvista.msdk.offerwall.view.MVOfferWallRewardVideoActivity"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:screenOrientation="landscape"
            android:theme="@android:style/Theme.NoTitleBar.Fullscreen" />
        <activity android:name="com.mobvista.msdk.reward.player.MVRewardVideoActivity"
            android:configChanges="orientation|keyboardHidden|screenSize"
            android:theme="@android:style/Theme.NoTitleBar.Fullscreen" />
        <activity android:name="com.mobvista.msdk.videofeeds.vfplayer.VideoFeedsActivity"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:screenOrientation="portrait" />
        <activity android:name="com.mobvista.msdk.out.LoadingActivity" />
        <activity android:name="com.mobvista.msdk.interstitial.view.MVInterstitialActivity"
            android:configChanges="orientation|screenSize"
            android:screenOrientation="portrait"
            android:theme="@android:style/Theme.NoTitleBar.Fullscreen" />
        <activity android:name="com.mobvista.msdk.shell.MVActivity"
            android:configChanges="keyboard|orientation"
            android:screenOrientation="portrait"
            android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen" />
        <!--suppress AndroidDomInspection -->
        <activity android:name="com.tapjoy.TJAdUnitActivity" android:configChanges="orientation|keyboardHidden|screenSize"
            android:hardwareAccelerated="true" android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen" />
        <!--suppress AndroidDomInspection -->
        <activity android:name="com.tapjoy.mraid.view.ActionHandler" android:configChanges="orientation|keyboardHidden|screenSize" />
        <!--suppress AndroidDomInspection -->
        <activity android:name="com.tapjoy.mraid.view.Browser" android:configChanges="orientation|keyboardHidden|screenSize" />
        <!--suppress AndroidDomInspection -->
        <activity android:name="com.tapjoy.TJContentActivity" android:configChanges="orientation|keyboardHidden|screenSize"
            android:theme="@android:style/Theme.Translucent.NoTitleBar" android:hardwareAccelerated="true" />
        <!--suppress AndroidDomInspection -->
        <activity android:name="com.ironsource.sdk.controller.ControllerActivity" android:configChanges="orientation|screenSize"
            android:hardwareAccelerated="true" />
        <!--suppress AndroidDomInspection -->
        <activity android:name="com.ironsource.sdk.controller.InterstitialActivity" android:configChanges="orientation|screenSize"
            android:hardwareAccelerated="true" android:theme="@android:style/Theme.Translucent" />
        <!--suppress AndroidDomInspection -->
        <activity android:name="com.ironsource.sdk.controller.OpenUrlActivity" android:configChanges="orientation|screenSize"
            android:hardwareAccelerated="true" android:theme="@android:style/Theme.Translucent" />
        <!--suppress AndroidDomInspection -->
        <activity android:name="com.adcolony.sdk.AdColonyInterstitialActivity" android:configChanges="keyboardHidden|orientation|screenSize"
            android:hardwareAccelerated="true"/>
        <!--suppress AndroidDomInspection -->
        <activity android:name="com.adcolony.sdk.AdColonyAdViewActivity" android:configChanges="keyboardHidden|orientation|screenSize"
            android:hardwareAccelerated="true"/>
        <activity android:name="com.inmobi.rendering.InMobiAdActivity" android:configChanges="keyboardHidden|orientation|keyboard|smallestScreenSize|screenSize|screenLayout"
            android:hardwareAccelerated="true" android:resizeableActivity="false" android:theme="@android:style/Theme.NoTitleBar" />
        <receiver android:name="com.inmobi.commons.core.utilities.uid.ImIdShareBroadCastReceiver" android:enabled="true" android:exported="true">
            <intent-filter>
                <action android:name="com.inmobi.share.id"/>
            </intent-filter>
        </receiver>
        <meta-data android:name="presage_key" android:value="000000"/>
        <service android:name="io.presage.PresageService" android:enabled="true" android:exported="true" android:process=":remote">
            <intent-filter>
                <action android:name="io.presage.PresageService.PIVOT" />
            </intent-filter>
        </service>
        <activity android:name="io.presage.activities.PresageActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
            android:hardwareAccelerated="true" android:theme="@android:style/Theme.Translucent.NoTitleBar">
            <intent-filter>
                <action android:name="io.presage.intent.action.LAUNCH_WEBVIEW" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
        <receiver android:name="io.presage.receiver.NetworkChangeReceiver">
            <intent-filter>
                <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
                <action android:name="android.net.wifi.WIFI_STATE_CHANGED" />
                <action android:name="io.presage.receiver.NetworkChangeReceiver.ONDESTROY" />
            </intent-filter>
        </receiver>
        <receiver android:name="io.presage.receiver.AlarmReceiver" />
        <provider
            android:name="io.presage.provider.PresageProvider"
            android:authorities="${applicationId}.PresageProvider"
            android:enabled="true"
            android:exported="true" />
        <!--optional, remove if not using Millennial Media-->
        <provider
            android:name="com.millennialmedia.internal.utils.MediaContentProvider"
            android:authorities="${applicationId}.MediaContentProvider"
            android:grantUriPermissions="true"
            android:exported="false" />
    </application>
</manifest>
READ ALSO
Краш связанный с URI

Краш связанный с URI

Я сделал выбор картинки на фон, всё прекрасно, всё работает, но после перезахода полного в приложение вылетает такой краш, кто-то сталкивался?...

198
Как запустить приложение на Spring WebMVC

Как запустить приложение на Spring WebMVC

Написал простой приложение на SpringMVC (без Spring Boot)Юнит-тесты для компонентов выполняются верно, но я не знаю, как запустить это приложение

168
переменные java

переменные java

на входе есть 10 переменных по 3 значения у каждой!Как их записать?через лист? и интерфейс?

190
Не работает адаптивный размер текста в бутстрапе

Не работает адаптивный размер текста в бутстрапе

В документации к бутстрапу 4 есть пример как сделать адаптивный размер https://bootstrap-4ru/docs/4

227