Android Studio Gradle зависает на: приложение: transformClassesWithDexForRelease - PullRequest
0 голосов
/ 27 мая 2018

После добавления некоторых библиотек в наш проект Android и изменения значения compileSdkVersion на 26 наше приложение прекратило сборку в релиз-конфигурации.На этапе процесс останавливается на 93%: app: transformClassesWithDexForRelease и после 15 минут работы никаких изменений не происходит.При этом процессор загружен на 75%, а оперативная память - на 83%.Мы используем Android Studio 3.0, Gradle 2.3.3, Windows 10 x86 с 3 ГБ оперативной памяти.Также мы попытались установить разные значения для javaMaxHeapSize.Вот наш файл build.gradle:

android {
    compileSdkVersion 26
    buildToolsVersion "26.0.2"

    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 25
        versionCode 204
        versionName "2.4"
        applicationId "ua.ers.simpleVpn"
        //testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        vectorDrawables.useSupportLibrary = true
        multiDexEnabled true
    }
    buildTypes {
        release {
            minifyEnabled true
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

    dexOptions {
        javaMaxHeapSize "1g"
    }
}

repositories {
    flatDir {
        dirs 'libs-aar'
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    //compile fileTree(include: ['*.jar'], dir: 'libs/appodeal')
    compile fileTree(include: ['*.jar'], dir: 'libs/appodeal_dex')
    compile project(':library-circular-mod')
    compile project(':complexPreferences')
    compile 'com.android.support:appcompat-v7:26.1.0'
    compile 'com.android.support:design:26.1.0'
    compile 'com.android.support:multidex:1.0.1'
    compile 'com.google.android.ads.consent:consent-library:1.0.3'
    testCompile 'junit:junit:4.12'

    //Appodeal
    compile 'com.google.android.gms:play-services-ads:15.0.1'
    compile 'com.google.android.gms:play-services-location:15.0.1'
    compile 'com.google.android.gms:play-services-gcm:15.0.1'
    //Appodeal
    compile 'com.google.code.gson:gson:2.8.0'
    compile 'com.squareup.picasso:picasso:2.5.2'
    //for Inmobi
    compile name: 'adcolony-sdk-3.3.0', ext: 'aar'
    compile name: 'mobvista-8.11.0-alphab', ext: 'aar'
    compile name: 'mobvista-8.11.0-common', ext: 'aar'
    compile name: 'mobvista-8.11.0-interstitial', ext: 'aar'
    compile name: 'mobvista-8.11.0-interstitialvideo', ext: 'aar'
    compile name: 'mobvista-8.11.0-mvdownloads', ext: 'aar'
    compile name: 'mobvista-8.11.0-mvjscommon', ext: 'aar'
    compile name: 'mobvista-8.11.0-mvnative', ext: 'aar'
    compile name: 'mobvista-8.11.0-nativeex', ext: 'aar'
    compile name: 'mobvista-8.11.0-playercommon', ext: 'aar'
    compile name: 'mobvista-8.11.0-reward', ext: 'aar'
    compile name: 'mobvista-8.11.0-videocommon', ext: 'aar'
    compile name: 'mobvista-8.11.0-videofeeds', ext: 'aar'
    compile name: 'mobvista-8.11.0-videojs', ext: 'aar'
}

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

1 Ответ

0 голосов
/ 27 мая 2018

Как рекомендуется в Документах Android . Рекомендованный объем памяти составляет 8 ГБ , я просто удивляюсь, можно ли даже запустить Android Studio в системе 3 ГБ оперативной памяти.Потому что у меня есть оперативная память 10 ГБ, в которой оперативная память 6 ГБ всегда зарезервирована JDK (3 ГБ) и Android Studio (3 ГБ) .И моя система имеет процессор i7, который зависает, когда я работаю с привязкой данных.

Ваше приложение работает в системе с низкой конфигурацией, когда оно не имеет больших зависимостей, но вам потребуется минимум 8 ГБ ОЗУ, если проект собираетсяк большой структуре и большему количеству зависимостей.

Решения:

  • Увеличьте оперативную память по крайней мере до 8 ГБ.
  • Попробуйте вместо этого использовать несколько полезных классоввсего пакета в вашей зависимости.
  • Очистите проект, иногда неиспользуемые пакеты остаются в Build.
  • Используйте proguard (удалит неиспользуемые классы и ресурсы самостоятельно), если вы собираете релизное приложение.
...