Android UNEXPECTED TOP-LEVEL EXCEPTION

1. 初次遇到这个错是在build.gradle中添加了

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}

 

原因是Android现在最高只支持到jdk7的语言特性

参见

Which JDK version (Language Level) is required for Android Studio?

Is it possible to use Java 8 for Android development?

 

解决的方案也很简单:直接将这段去掉,或者将version降到1.7

sourceCompatibility = JavaVersion.VERSION_1_7
targetCompatibility = JavaVersion.VERSION_1_7

 参见 

Lambda expressions in android

UNEXPECTED TOP-LEVEL EXCEPTION adding new Module to Android Studio project

 

如果一定要使用java8的新特性,可以参考github的一个开源项目

gradle-retrolambda

 

当然该错误也可能在某个阶段,Google决定支持jdk8的时候就解决了

 

 2. 也有可能是jar冲突

比如,在dependency里面同时设置了v4和v7的android support

Android Studio - UNEXPECTED TOP-LEVEL EXCEPTION

 

比如,友盟的消息推送jar和支付宝sdk冲突

推送组件和支付宝SDK类冲突问题

 

比如,友盟的社会化组件(分享)sdk和微信原生sdk冲突

Unable to execute dex: Multiple dex files define

(注:现在应该是SocialSDK_WeiXin_1.jar和libammsdk.jar取其一)

 

 

 

你可能感兴趣的:(exception,TOP-LEVEL)