How to resolve UNEXPECTED TOP-LEVEL EXCEPTION in Android Studio
我有两个项目共享相同的aidl文件。
在第一个项目中,构建在Eclipse和Android Studio中运行完成。
在第二个项目中,构建在Eclipse中运行完成,但在Android Studio中我看到:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | 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文件非常简单:
1 2 3 4 | package com.DynaZu.Tracker.Prokey; interface IProKEYComm { long getLicenseInfo(); } |
如何确定问题???? 是什么导致这个? 我正在使用com.google.android.vending.licensing。 这有关系吗?
我已经看到了两次包含库(具有不同版本)的问题,但这似乎不是问题。 任何想法将不胜感激!
经过几个月的斗争这个确切的问题,我终于找到了一个适合我的解决方案。 可能不是你的情况。 确保您使用的所有类(在您的情况下,它可能是接口本身,因为我没有看到任何其他类)是私有的。 Gradle无法处理它,也找不到类中的方法。 只需将其更改为public(在嵌套类的情况下,您只需要删除标志以使其成为默认值),您应该好好去。