Error: Gradle: execution failed for task ':app:preDexDebug'

前端 未结 4 538
忘了有多久
忘了有多久 2020-11-30 10:34

I had a self created jar from another projected imported as a library into my other project. When I changed code in that project and exported a new jar to replaced the old o

相关标签:
4条回答
  • 2020-11-30 10:52

    We've seen this problem in the past when our project was compiling with a version of Java different from the one used to compile the library. The magic number is just used to identify class files so that is not the problem here. The issue is the java version (0034.0000 == Java 8).

    The easiest thing to do is target Java 6, which may require removing newer syntax from your code. In our case, both the project and library were ours so we were able to add the following to force the version of Java that we needed:

    Android Libraries

    for android libraries, add this code to the "android" extension object:

    android {
        ...
        compileOptions {
            sourceCompatibility JavaVersion.VERSION_1_6
            targetCompatibility JavaVersion.VERSION_1_6
        }
        ...
    }
    

    Java Libraries

    for java libraries, add this code at the "top level":

    apply plugin: 'java'
    
    version '1.8.1'
    group   'com.yourcompany.package'
    
    sourceCompatibility = JavaVersion.VERSION_1_6   //these two lines
    targetCompatibility = JavaVersion.VERSION_1_6   //are the only ones that matter
    

    NOTE: the last two lines are the only ones that matter, I added the others just to show where those lines belong, in respect to the rest of your gradle build file.

    0 讨论(0)
  • 2020-11-30 11:01

    For us, this was caused by the Android SDK build-tools version. Got the problem on v23.x, but not v22.x. You need to uninstall v23 for cordova to pick v22.

    Possibly a symptom rather than a cause, but this may unstick someone in the same situation.

    0 讨论(0)
  • 2020-11-30 11:09

    adding:

    sourceCompatibility = JavaVersion.VERSION_X_X
    targetCompatibility = JavaVersion.VERSION_X_X
    

    in the Android project gradle file and the Java library gradle file worked for me.

    Sorry I would have +1'd it but don't have a high enough reputation

    0 讨论(0)
  • 2020-11-30 11:15

    Although your problem seems fixed, I ended up here with a similar error (while building the samples from developer.android.com). In case it's helpful to others, I was able to solve it by setting JAVA_HOME to the appropriate value. In my case it was:

    export JAVA_HOME=/usr/lib/jvm/java-6-openjdk-amd64
    
    0 讨论(0)
提交回复
热议问题