Исключение, ошибка преобразования байт-кода в dex, классы анализа исключений, код возврата 1 для процесса dex

Н.Б. Этот вопрос не подходит, так как я не могу найти рабочего решения.

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

Первый: multiDexEnabled true

Второй: compile 'com.android.support:multidex:1.0.1'

Третий: org.gradle.jvmargs=-XX\:MaxHeapSize\=512m -Xmx512mLocal.properties)

Четвертый: android:name="android.support.multidex.MultiDexApplication"manifest.xml)

Пятое: Clean & Rebuild

Шестой: FileInvalidate cache & Restart

Если кто-то ищет решение, это может сработать для вас. Но для меня ни один не работает.

Что я должен делать ? (Я работаю над проектом цифрового кошелька).

Ошибки: 1:

Error:Error converting bytecode to dex:
Cause: java.lang.RuntimeException: Exception parsing classes

Ошибка 2: Error:1 error; aborting

Ошибка 3:

Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: Return code 1 for dex process

build.gradle:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 26
    buildToolsVersion "25.0.3"
    defaultConfig {
        applicationId "com.example.intuition.paytmprogress"
        minSdkVersion 19
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
        multiDexEnabled true
//        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled true
            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'
    })
    compile 'com.android.support:appcompat-v7:26.+'
    compile 'com.android.support.constraint:constraint-layout:1.0.2'
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:multidex:1.0.1'

//    PayTm
    compile files('libs/PGSDK_V2.0.jar')
    compile files('libs/paytm-checksum_2.0.jar')
    compile files('libs/jackson-databind-2.9.1.jar')

    //Freecharge
//    compile 'com.android.support:support-v4:+'
//    compile 'in.freecharge.checkout.android:freecharge-checkout-android-sdk:2.2@aar'
//    compile 'in.juspay:godel:0.6.12.1423'
}

person GoGoaGone    schedule 15.09.2017    source источник
comment
опубликуйте свой файл градации   -  person Bhuvanesh BS    schedule 15.09.2017
comment
Конечно. дай мне 2 сек.   -  person GoGoaGone    schedule 15.09.2017
comment
@BhuvaneshBs Готово..   -  person GoGoaGone    schedule 15.09.2017


Ответы (2)


Для вашего приложения Multidex не требуется.

Не используйте оператор + в зависимой версии.

Попробуйте эту новую конфигурацию:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 26
    buildToolsVersion "25.0.3"
    defaultConfig {
        applicationId "com.example.intuition.paytmprogress"
        minSdkVersion 19
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile 'com.android.support:appcompat-v7:26.1.0'
    compile 'com.android.support.constraint:constraint-layout:1.0.2'
}

Удалите приложение multiDex из манифеста.

2) Я вижу некоторые из прокомментированных зависимостей.

если вы используете эти зависимости, следуйте этим инструкциям.

  • Удалите из него compile 'com.android.support:support-v4:+'. Поскольку библиотека support-v7 включает в себя библиотеку поддержки v4.

  • Убедитесь, что ваши библиотеки используют ту же версию библиотеки поддержки. если у вас есть красная линия под вашей библиотекой поддержки, сообщающая, что найдено несколько версий библиотеки поддержки. вам нужно понизить версию вашей библиотеки поддержки, чтобы соответствовать этому.

  • Добавляйте multidex только если он превышает single Dex.

Очистите и перестройте свой проект.

person Bhuvanesh BS    schedule 15.09.2017
comment
Если я добавлю внешние файлы Jar, я снова увижу те же проблемы. :( - person GoGoaGone; 15.09.2017
comment
Все еще получаю ошибки.........Ошибка: не удалось выполнить задачу ':app:transformClassesWithDexForDebug'. › com.android.build.api.transform.TransformException: java.lang.RuntimeException: java.util.concurrent.ExecutionException: ProcessException: ошибка при выполнении процесса Java с основным классом com.android.dx.command.Main с аргументами {- -dex --num-threads=4-output C:\AndroidStudioProjects\app\build\intermediates\pre-dexed\debug\paytm-checksum_2.0_0927f64182307d227e049.jar C:\AndroidStudioProjects\app\libs\paytm-checksum_2.0. банка} - person GoGoaGone; 19.09.2017

Вам нужно использовать одну и ту же версию для compileSdkVersion, buildToolsVersion и support library. Следовательно, вам нужно использовать версию 26. Итак, вам нужно изменить ее примерно следующим образом:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 26 // need version 26
    buildToolsVersion "26.0.3" // need version 26
    defaultConfig {
        applicationId "com.example.intuition.paytmprogress"
        minSdkVersion 19
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
    }
    ...
}

dependencies {
    ...
    // Need version 26.
    compile 'com.android.support:appcompat-v7:26.1.0'  
    compile 'com.android.support.constraint:constraint-layout:1.0.2'
    testCompile 'junit:junit:4.12'
}

Не используйте мультидекс, потому что он вам пока не нужен.

-- ОБНОВЛЕНО--

Для поддержки версии 26.1.0 вам нужно добавить google maven в свой root build.gradle следующим образом:

allprojects {
    repositories {
        jcenter()
        maven {
            url "https://maven.google.com"
        }
    }
}

Подробнее читайте на странице Не удалось разрешить: com.android.support: appcompat-v7:26.0.0

person ישו אוהב אותך    schedule 15.09.2017
comment
compile 'com.android.support:appcompat-v7:26.0.3' ‹ -- я получаю сообщение об ошибке. Этот пакет недоступен для загрузки. - person GoGoaGone; 18.09.2017
comment
Ошибка: Ошибка преобразования байт-кода в dex: Причина: ОШИБКА PARSE: имя класса (com/paytm/pg/AppTest) не соответствует пути (target/test-classes/com/paytm/pg/AppTest.class) ... при анализе target/test-classes/com/paytm/pg/AppTest.class -------------------------------------------------- ------------------ Это ошибка, которую я получаю до сих пор. - person GoGoaGone; 19.09.2017
comment
Это другой вид ошибки. Вам нужно проверить com/paytm/pg/AppTest для класса. - person ישו אוהב אותך; 19.09.2017