Android Studio 意外的顶级异常:

2023-12-10

今天,我遇到了一个巨大的错误,不允许我在手机上运行示例项目。

当 Android Studio 构建项目时,它首先显示以下目标:UP-TO-DATE:

....
:demoproject:processDebugResources UP-TO-DATE
:demoproject:generateDebugSources UP-TO-DATE
:demoproject:compileDebugJava UP-TO-DATE
:demoproject:proguardDebug UP-TO-DATE
....

这样的有几十个UP-TO-DATE构建过程中的日志语句。然而,他们总是止步于:demoproject:dexDebug. For dexDebug,我似乎从来没有得到过UP-TO-DATE日志语句。

反而,dexDebug接下来是这个错误:

:demoproject:dexDebug
warning: Ignoring InnerClasses attribute for an anonymous inner class
(com.xyz.corp.sample.project.demo.a) that doesn't come with an
associated EnclosingMethod attribute. This class was probably produced by a
compiler that did not target the modern .class file format. The recommended
solution is to recompile the class from source, using an up-to-date compiler
and without specifying any "-target" type options. The consequence of ignoring
this warning is that reflective operations on this class will incorrectly
indicate that it is *not* an inner class.

现在有几十个这样的Ignoring InnerClasses attribute错误。它们甚至出现在 v4 支持库中的类中,这确实令人困惑。

最后,这些错误以新的语句结束:

UNEXPECTED TOP-LEVEL EXCEPTION:
at com.android.dx.command.dexer.Main.access$300(Main.java:83)
at com.android.dx.cf.direct.DirectClassFile.parse0(DirectClassFile.java:472)
at com.android.dx.command.dexer.Main.main(Main.java:215)
at com.android.dx.command.dexer.Main.runMonoDex(Main.java:280)
at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:166)
at com.android.dx.cf.direct.DirectClassFile.parse(DirectClassFile.java:406)
at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:602)
at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)
at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:284)
at com.android.dx.command.dexer.Main.run(Main.java:246)
at com.android.dx.command.dexer.Main.processOne(Main.java:632)
at com.android.dx.command.Main.main(Main.java:106)
...while parsing com/xyz/corp/sdk/AbcSDKConfig.class
1 error; aborting
Error:Execution failed for task ':demoproject:dexDebug'.
> com.android.ide.common.process.ProcessException:    org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.8.0_40\bin\java.exe'' finished with non-zero exit value 1
com.android.dx.cf.iface.ParseException: bad class file magic (cafebabe) or version (0034.0000)
at com.android.dx.command.dexer.Main.processFileBytes(Main.java:673)
at com.android.dx.cf.direct.DirectClassFile.parseToInterfacesIfNecessary(DirectClassFile.java:388)
at com.android.dx.command.dexer.Main.processAllFiles(Main.java:510)
...while parsing com/xyz/corp/sdk/AbcSDKConfig.class
1 error; aborting
at com.android.dx.command.dexer.Main.processClass(Main.java:704)
at com.android.dx.cf.direct.DirectClassFile.getMagic(DirectClassFile.java:251)

我已经查阅了以下链接:

1. Gradle 以非零退出值 1 完成.

2. 编译期间的“Ignoring InnerClasses attribute”警告输出是什么?.

我不确定它们是否适用于我的情况。我什至无法run该项目。我已将 IDE 更新为 SDK Tools 22.0.1 并修改了buildToolsVersion标签在我的build.gradle文件,但无济于事。有人可以指导我如何处理这个错误吗?所有帮助将不胜感激。

哦,这是我的build.gradle:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 22
    buildToolsVersion '22.0.1'

    packagingOptions {
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/NOTICE'
    }

    defaultConfig {
        applicationId "com.xyz.corp.demo.project"
        minSdkVersion 10
        targetSdkVersion 22

        versionCode 2060200
        versionName '2.6.02.00'
    }

    buildTypes {
        debug {

            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }

        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

            applicationVariants.all { variant ->
                variant.outputs.each { output ->
                    def file = output.outputFile
                    output.outputFile = new File(file.parent, file.name.replace(".apk", "-" + defaultConfig.versionName + ".apk"))
                }
            }
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:22.1.0'

    compile project(':xyzSDK')
}

Please HELP !!!


因为它正在报告:bad class file magic (cafebabe) or version (0034.0000)您应该检查您是否使用与运行时尝试使用的相同的 java 版本进行编译。 如果您使用 gradle,您应该在 build.gradle 文件中使用以下或类似的条目:

apply plugin: 'java'
sourceCompatibility = 1.7
targetCompatibility = 1.7

用这个link了解更多 gradle 详细信息。

在 Android Studio 中,从File -> Project Structure -> SDK Location -> JDK Location你应该使用jdk 1.7而不是中继Project level环境。看到这个link对于类似的 Android Studio 问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android Studio 意外的顶级异常: 的相关文章

随机推荐

  • java泛型:无法创建简单的打印数组方法

    所以我在下一个代码中不断收到错误 我不知道我做错了什么 错误是 Main 类型中的方法 printArray T 不适用于参数 int public class main public static void main String arg
  • 静态字段可以继承吗?

    当继承静态成员时 它们对于整个层次结构还是仅该类是静态的 即 class SomeClass public SomeClass total static int total class SomeDerivedClass public Som
  • 同一页面上有两个不同的 jQuery UI 主题

    我想在同一页面上有两个不同的 jQuery UI 手风琴菜单 但我希望它们有不同的主题 这可能吗 绝对地 jQuery UI CSS 框架拥有强大且完整的主题解决方案 只需为您的手风琴提供单独的 CSS 类 jQuery UI 类本质上是语
  • 如何指导让经典的 asp 应用程序在 IIS 7.0 下工作

    我正在寻找一个很好的 简单的分步 操作方法 指南 以让经典的 asp 应用程序在 IIS 7 0 下工作 如果有什么区别的话 它是在 64 位 Windows Server 2008 计算机上 我们已经将一些经典 ASP 代码移至 64 位
  • 编辑列表列表中的字符串

    我从文本块中创建了一个列表列表 其中每个列表包含一行中的所有单词作为单独的元素 如下所示 listoflists Lorem ipsum dolor sit amet n consectetur adipiscing elit donec
  • 如何在docker容器运行时自动启动服务?

    我有一个Dockerfile在容器中安装 MySQL 服务器 然后我像这样启动 sudo docker run t i 09d18b9a12be bin bash 但是 MySQL 服务不会自动启动 我必须手动运行 从容器内 service
  • Swift 告诉我的 _: 是什么?

    函数定义中单独的下划线是什么意思 e g map 我知道在定义函数时我可以这样做 func myFunc string String 那么我可以将其称为myFunc 代替myFunc string 即故意隐藏参数名称 The 用于定义参数未
  • 脚本可以在 powershell 中运行,但不能在 c# 中运行

    该脚本在 PowerShell ISE 中运行时有效 它设置给定用户的远程桌面服务配置文件Active Directory 中的设置 Get ADUser FirstName LastName ForEach Object User ADS
  • 如何获取 os.system() 的输出? [复制]

    这个问题在这里已经有答案了 我想得到输出os system nslookup google com 但我总是得到0 打印时 这是为什么 我该如何解决这个问题 Python 3 Mac 我在看如何在python中存储已打印到stdout的os
  • 使用 WPF + Windows Azure 存储二进制数据(图像、文件等)

    我有一个使用 Windows Azure 作为后端的 WPF 应用程序 我使用 SQL Azure 存储 WPF 应用程序通过 WCF 服务访问的数据 我需要能够在服务器端存储二进制文件 例如图像 并想知道存储这些文件的最佳方法是什么 我可
  • 添加与 GDK 的共享联系人

    我正在研究 Google Glass GDK 并且正在寻找是否可以从应用程序添加共享联系人 我在官方文件中没有看到任何对此的引用 我想知道你是否可以这样做 感谢您的帮助 目前先睹为快的GDK尚不支持添加共享联系人 如果您对此功能感兴趣 请在
  • 将意图保存在共享首选项中

    我有一个应用程序 我可以从中启动手机上安装的其他应用程序 长按我可以获得应用程序选择器 结果我收到一个意图数据 我如何保存它以便用户在关闭时返回我的应用程序有相同的快捷方式设置吗 我保存其他类似的东西 SharedPreferences s
  • 版本不匹配 global tsc 1.0.3.0 != VS Code 的语言服务 (2.2.1)

    I have this popup presented 我尝试通过在 cmd 中执行以下命令来安装正确的 tsc npm install g save dev email protected and npm install save dev
  • python pandas 带括号和不带括号的函数

    我注意到许多 DataFrame 函数如果不带括号使用似乎表现得像 属性 例如 In 200 df DataFrame np random randn 7 2 In 201 df head Out 201 0 1 0 1 325883 0
  • 有没有办法查看架构验证失败的位置?

    我正在尝试根据某种复杂的 模式 如空手道文档中定义 验证 json 我得到的错误并不那么明确 reason not equal 我如何检查它实际上在哪里验证失败 真的很抱歉 这都是我的错 我知道这对你没有帮助 但我现在正在重写空手道的核心
  • 如何定义一个地图接受 Thrift 中不同类型的值?

    我用 thrift 定义了一个结构 struct QuerySetRecord 1 string recordId 2 string crawlerName 3 string recordType 4 map
  • 仅删除 HTML 字符串中标签之间的多余空格

    嗨 我有一个 HTML 字符串 例如 div p You have received an alert from project span class fields Project Name span br p p span class f
  • 我可以暂停和恢复线程吗?

    我正在尝试创建一个线程 它在后台执行操作 我需要能够在需要时有效地 暂停 它 并在以后再次 恢复 它 另外 如果当我 暂停 线程时线程正在执行某些操作 它应该使调用线程等待 直到它完成正在执行的操作 我对 Python 中的多线程还很陌生
  • 如何使用 REST 将数据从 AngularJS 发布到 Struts 2

    我需要从客户端获取到服务器端的值 我正在使用 AngularJS 和 Struts2 REST 我的控制器没有获取传递的值 还是我传递或使用 RESTful 控制器时出错了 这是我的代码 angularcontroller js app c
  • Android Studio 意外的顶级异常:

    今天 我遇到了一个巨大的错误 不允许我在手机上运行示例项目 当 Android Studio 构建项目时 它首先显示以下目标 UP TO DATE demoproject processDebugResources UP TO DATE d