如何在 Android Studio 中解决 UNEXPECTED TOP-LEVEL EXCEPTION
Posted
技术标签:
【中文标题】如何在 Android Studio 中解决 UNEXPECTED TOP-LEVEL EXCEPTION【英文标题】:How to resolve UNEXPECTED TOP-LEVEL EXCEPTION in Android Studio 【发布时间】:2013-06-30 12:28:21 【问题描述】:我有两个项目共享同一个aidl 文件。
在第一个项目中,构建在 Eclipse 和 android Studio 中运行完成。
在第二个项目中,构建在 Eclipse 中运行完成,但在 Android Studio 中我看到了:
Error:[Tracker-PRO-Key] UNEXPECTED TOP-LEVEL EXCEPTION:
Error:[Tracker-PRO-Key] com.android.dx.util.ExceptionWithContext
Error:[Tracker-PRO-Key] at com.android.dx.util.ExceptionWithContext.withContext(ExceptionWithContext.java:46)
Error:[Tracker-PRO-Key] at com.android.dx.dex.cf.CfTranslator.processMethods(CfTranslator.java:344)
Error:[Tracker-PRO-Key] at com.android.dx.dex.cf.CfTranslator.translate0(CfTranslator.java:134)
Error:[Tracker-PRO-Key] at com.android.dx.dex.cf.CfTranslator.translate(CfTranslator.java:87)
Error:[Tracker-PRO-Key] at com.android.dx.command.dexer.Main.processClass(Main.java:487)
Error:[Tracker-PRO-Key] at com.android.dx.command.dexer.Main.processFileBytes(Main.java:459)
Error:[Tracker-PRO-Key] at com.android.dx.command.dexer.Main.access$400(Main.java:67)
Error:[Tracker-PRO-Key] at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:398)
Error:[Tracker-PRO-Key] at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:135)
Error:[Tracker-PRO-Key] at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:109)
Error:[Tracker-PRO-Key] at com.android.dx.command.dexer.Main.processOne(Main.java:422)
Error:[Tracker-PRO-Key] at com.android.dx.command.dexer.Main.processAllFiles(Main.java:333)
Error:[Tracker-PRO-Key] at com.android.dx.command.dexer.Main.run(Main.java:209)
Error:[Tracker-PRO-Key] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
Error:[Tracker-PRO-Key] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
Error:[Tracker-PRO-Key] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
Error:[Tracker-PRO-Key] at java.lang.reflect.Method.invoke(Method.java:606)
Error:[Tracker-PRO-Key] at org.jetbrains.android.compiler.tools.AndroidDxRunner.runDex(AndroidDxRunner.java:139)
Error:[Tracker-PRO-Key] at org.jetbrains.android.compiler.tools.AndroidDxRunner.main(AndroidDxRunner.java:261)
Error:[Tracker-PRO-Key] at com.intellij.rt.execution.CommandLineWrapper.main(CommandLineWrapper.java:121)
Error:[Tracker-PRO-Key] Caused by: java.lang.NullPointerException
Error:[Tracker-PRO-Key] at com.android.dx.cf.code.ConcreteMethod.<init>(ConcreteMethod.java:87)
Error:[Tracker-PRO-Key] at com.android.dx.cf.code.ConcreteMethod.<init>(ConcreteMethod.java:75)
Error:[Tracker-PRO-Key] at com.android.dx.dex.cf.CfTranslator.processMethods(CfTranslator.java:247)
Error:[Tracker-PRO-Key] ... 22 more
Error:[Tracker-PRO-Key] ...while processing <init> (Lcom/DynaZu/Tracker/Prokey/MainActivity;)V
Error:[Tracker-PRO-Key] ...while processing /home/joel/workspace/Tracker-PRO-Key/out/production/Tracker-PRO-Key/com/DynaZu/Tracker/Prokey/MainActivity$1.class
Error:[Tracker-PRO-Key] 1 error; aborting
aidl文件极其简单:
package com.DynaZu.Tracker.Prokey;
interface IProKEYComm
long getLicenseInfo();
如何判断问题????这是什么原因造成的?我正在使用 com.google.android.vending.licensing。这有关系吗? 我已经看到一个库被包含两次(不同版本)的问题,但这似乎不是这里的问题。任何想法将不胜感激!
【问题讨论】:
我知道这有点晚了,但是,您是否使用过 Java 7?这在强制使用 Java 6 后开始为我工作。 【参考方案1】:在解决这个确切问题数月之后,我终于找到了适合我的解决方案。这可能不是你的情况。确保您正在使用的所有类(在您的情况下,它可能是接口本身,因为我没有看到任何其他类)是私有的。 Gradle 无法处理它,也无法在类中找到方法。只需将其更改为 public(在嵌套类的情况下,您只需删除该标志以使其成为默认值),您应该一切顺利。
【讨论】:
以上是关于如何在 Android Studio 中解决 UNEXPECTED TOP-LEVEL EXCEPTION的主要内容,如果未能解决你的问题,请参考以下文章
如何解决:Android Studio 中 RunConfiguration 的 Android ClassFormatError
我在构建应用程序时在 android studio 中遇到了 Android 资源链接失败错误。我不知道如何解决这个问题。我是 Android Studio 的新手 [关闭]
Android studio的preview界面一直在加载,该如何解决?
android studio中anim文件中alpha渐变动画