异常,将字节码转换为dex时出错,异常解析类,返回dex进程的代码1

时间:2017-09-15 06:43:54

标签: java android dex

N.B。这个问题不匹配,因为我找不到任何可行的解决方案。

我几乎使用了每个过程来解决这个问题,但仍然面临同样的问题。

首先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

第六次File< Invalidate 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'
}

2 个答案:

答案 0 :(得分:0)

不需要您的应用程序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仅超过单个Dex。

清理并重建您的项目。

答案 1 :(得分:0)

您需要使用compileSdkVersionbuildToolsVersionsupport 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'
}

请勿使用 multidex ,因为您还不需要它。

- 更新 -

支持版本26.1.0,您需要将google maven添加到root build.gradle中,如下所示:

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

Failed to resolve: com.android.support:appcompat-v7:26.0.0

了解详情