gpt4 book ai didi

android-studio - 无法修复 "ParseException: bad class file magic (cafebabe) or version (0034.0000)"

转载 作者:行者123 更新时间:2023-12-03 16:01:32 25 4
gpt4 key购买 nike

我最近从我的AWS应用程序导入了一个jar,其中包含要在Android应用程序中引用的所有对象。一旦这在我的Android Studio项目中并通过Gradle连接起来,该错误就会显示出来,并且直到我清除导入的jar并重新构建所有内容后,错误才会消失。

我读到的是:

此错误可能是合法的。当Android应用程序的名称超过65k时,可能会发生这种情况。我的应用程序可能很大,但是如果我导入的所有库都超过了该总数,我会感到惊讶。我不会排除它,但是那是很多方法。从我的角度来看,十分之九,这是一个配置错误。我阅读的前几篇文章说过使Proguard能够删除所有未使用的方法,但这无济于事。

我的配置:

我将Android Studio环境中的所有内容都设置为运行Java 7:

  • 项目字节码版本:1.7
  • JDK位置:C:\Program Files\Java\jdk1.7.0_45

  • build.gradle
    apply plugin: 'com.android.application'

    android {
    compileSdkVersion 20
    buildToolsVersion "21.1.2"

    defaultConfig {
    applicationId "com.example.maveric.helloworld"
    minSdkVersion 15
    targetSdkVersion 20
    versionCode 1
    versionName "1.0"
    }
    buildTypes {
    release {
    minifyEnabled true
    proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
    }
    }

    dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.google.android.gms:play-services:4.2.42'
    compile 'com.android.support:appcompat-v7:20.0.0'
    compile 'org.apache.commons:commons-io:1.3.2'
    compile 'com.cedarsoftware:json-io:4.3.0'
    }

    我花了最后5个小时尝试使用SO上的每个解决方案,但都没有碰到任何运气。

    最佳答案

    经过6个多小时的尝试解决方案,一位Oleg在评论中联系了我,最终使我找到了问题的真正原因。

    可以在HERE中找到对该问题的简要说明,但是我将尝试解释系统中所有内容的外观:

    当我导入一个jar文件(该文件是我的主要Java项目的一部分)时,该错误首先为我出现,该文件托管在Eclipse中。

    该错误首先引起用户注意的方式是通过“消息”选项卡,其中Gradle会完成其每个任务。它崩溃的任务是

    :app:transformClassesWithDexForDebug

    问题是“Gradle消息”窗口仅显示任务失败,然后给出非描述性错误消息,提示
    Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
    > com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.7.0_45\bin\java.exe'' finished with non-zero exit value 1

    为了获得更好的 View ,您需要查看Gradle Console View 。终端 View 中的文本告诉您:
    FAILURE: Build failed with an exception.

    * What went wrong:
    Execution failed for task ':app:transformClassesWithDexForDebug'.
    > com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.7.0_45\bin\java.exe'' finished with non-zero exit value 1

    * Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

    向上滚动一点,表明stacktrace顺利通过,即使此初始消息暗示应该添加其他调试标记。 stacktrace的顶部表示:
    UNEXPECTED TOP-LEVEL EXCEPTION:
    com.android.dx.cf.iface.ParseException: bad class file magic (cafebabe) or version (0034.0000)

    但是,即使那样也无济于事。它试图告诉您的内容(我不得不非常不好地补充)是,它正在查看的类是使用不支持的Java版本编译的。在我的情况下,版本(0034)是52的十六进制表示,表示Java8。Android不支持Java 8,因此它将终止构建。

    解决方案是回到我的Eclipse项目,并在编译器设置为1.7版本的情况下导出jar文件,现在一切都重新启动并运行。我希望这有帮助!

    关于android-studio - 无法修复 "ParseException: bad class file magic (cafebabe) or version (0034.0000)",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34703059/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com