意外的顶级例外:Android Studio中 [英] UNEXPECTED TOP-LEVEL EXCEPTION: in Android Studio

查看:323
本文介绍了意外的顶级例外:Android Studio中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我知道它已经被问过很多次这里,但我仍无法解决问题。我曾尝试在previous问题提供的解决方案,但他们不以某种方式工作。

I know it has been asked too many times here but I can't still resolve the issue. I have tried solutions provided in previous questions but they are not working somehow.

下面是我的依赖的gradle -

Here's my gradle dependency -

compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.google.code.gson:gson:2.3.1'
compile 'com.android.support:appcompat-v7:23.1.0'
compile 'com.android.support:support-v4:23.1.0'
compile 'com.google.android.gms:play-services:8.1.0'
compile 'com.facebook.android:facebook-android-sdk:3.22.0'
compile project(':IndicatorLib')
compile 'com.makeramen:roundedimageview:1.5.0'
compile 'com.github.clans:fab:1.5.0'
// GMS in the library was causing merging error, we need to exclude the duplicate dependencies
compile ('io.nlopez.smartlocation:library:3.2.0') { exclude group: 'com.google.android.gms'}

下面是我的依赖关系的Gradle输出 -

Here's my gradle dependencies output -

_releaseApk - ## Internal use, do not manually configure ##
+--- com.google.code.gson:gson:2.3.1
+--- com.android.support:appcompat-v7:23.1.0
|    \--- com.android.support:support-v4:23.1.0
|         \--- com.android.support:support-annotations:23.1.0
+--- com.google.android.gms:play-services:8.1.0
|    +--- com.google.android.gms:play-services-ads:8.1.0
|    |    +--- com.google.android.gms:play-services-basement:8.1.0
|    |    |    \--- com.android.support:support-v4:22.2.0 -> 23.1.0 (*)
|    |    \--- com.google.android.gms:play-services-appindexing:8.1.0
|    |         \--- com.google.android.gms:play-services-basement:8.1.0 (*)
|    +--- com.google.android.gms:play-services-analytics:8.1.0
|    |    +--- com.google.android.gms:play-services-basement:8.1.0 (*)
|    |    \--- com.google.android.gms:play-services-ads:8.1.0 (*)
|    +--- com.google.android.gms:play-services-appindexing:8.1.0 (*)
|    +--- com.google.android.gms:play-services-appinvite:8.1.0
|    |    \--- com.google.android.gms:play-services-base:8.1.0
|    |         \--- com.google.android.gms:play-services-basement:8.1.0 (*)
|    +--- com.google.android.gms:play-services-appstate:8.1.0
|    |    \--- com.google.android.gms:play-services-base:8.1.0 (*)
|    +--- com.google.android.gms:play-services-base:8.1.0 (*)
|    +--- com.google.android.gms:play-services-basement:8.1.0 (*)
|    +--- com.google.android.gms:play-services-cast:8.1.0
|    |    +--- com.google.android.gms:play-services-base:8.1.0 (*)
|    |    \--- com.android.support:mediarouter-v7:22.2.0
|    |         \--- com.android.support:appcompat-v7:22.2.0 -> 23.1.0 (*)
|    +--- com.google.android.gms:play-services-drive:8.1.0
|    |    \--- com.google.android.gms:play-services-base:8.1.0 (*)
|    +--- com.google.android.gms:play-services-fitness:8.1.0
|    |    +--- com.google.android.gms:play-services-base:8.1.0 (*)
|    |    \--- com.google.android.gms:play-services-location:8.1.0
|    |         +--- com.google.android.gms:play-services-base:8.1.0 (*)
|    |         \--- com.google.android.gms:play-services-maps:8.1.0
|    |              \--- com.google.android.gms:play-services-base:8.1.0 (*)
|    +--- com.google.android.gms:play-services-games:8.1.0
|    |    +--- com.google.android.gms:play-services-base:8.1.0 (*)
|    |    \--- com.google.android.gms:play-services-drive:8.1.0 (*)
|    +--- com.google.android.gms:play-services-gcm:8.1.0
|    |    \--- com.google.android.gms:play-services-base:8.1.0 (*)
|    +--- com.google.android.gms:play-services-identity:8.1.0
|    |    \--- com.google.android.gms:play-services-base:8.1.0 (*)
|    +--- com.google.android.gms:play-services-location:8.1.0 (*)
|    +--- com.google.android.gms:play-services-maps:8.1.0 (*)
|    +--- com.google.android.gms:play-services-measurement:8.1.0
|    |    +--- com.google.android.gms:play-services-base:8.1.0 (*)
|    |    \--- com.google.android.gms:play-services-analytics:8.1.0 (*)
|    +--- com.google.android.gms:play-services-nearby:8.1.0
|    |    \--- com.google.android.gms:play-services-base:8.1.0 (*)
|    +--- com.google.android.gms:play-services-panorama:8.1.0
|    |    \--- com.google.android.gms:play-services-base:8.1.0 (*)
|    +--- com.google.android.gms:play-services-plus:8.1.0
|    |    \--- com.google.android.gms:play-services-base:8.1.0 (*)
|    +--- com.google.android.gms:play-services-safetynet:8.1.0
|    |    \--- com.google.android.gms:play-services-base:8.1.0 (*)
|    +--- com.google.android.gms:play-services-vision:8.1.0
|    |    \--- com.google.android.gms:play-services-base:8.1.0 (*)
|    +--- com.google.android.gms:play-services-wallet:8.1.0
|    |    +--- com.google.android.gms:play-services-base:8.1.0 (*)
|    |    +--- com.google.android.gms:play-services-identity:8.1.0 (*)
|    |    \--- com.google.android.gms:play-services-maps:8.1.0 (*)
|    \--- com.google.android.gms:play-services-wearable:8.1.0
|         \--- com.google.android.gms:play-services-base:8.1.0 (*)
+--- com.facebook.android:facebook-android-sdk:3.22.0
|    +--- com.android.support:support-v4:[21,22) -> 23.1.0 (*)
|    \--- com.parse.bolts:bolts-android:1.1.4
+--- project :IndicatorLib
|    \--- com.android.support:support-v4:21.0.3 -> 23.1.0 (*)
+--- com.makeramen:roundedimageview:1.5.0
+--- com.github.clans:fab:1.5.0
\--- io.nlopez.smartlocation:library:3.2.0
     \--- com.android.support:support-annotations:23.0.1 -> 23.1.0

_releaseCompile - ## Internal use, do not manually configure ##
+--- com.google.code.gson:gson:2.3.1
+--- com.android.support:appcompat-v7:23.1.0
|    \--- com.android.support:support-v4:23.1.0
|         \--- com.android.support:support-annotations:23.1.0
+--- com.google.android.gms:play-services:8.1.0
|    +--- com.google.android.gms:play-services-ads:8.1.0
|    |    +--- com.google.android.gms:play-services-basement:8.1.0
|    |    |    \--- com.android.support:support-v4:22.2.0 -> 23.1.0 (*)
|    |    \--- com.google.android.gms:play-services-appindexing:8.1.0
|    |         \--- com.google.android.gms:play-services-basement:8.1.0 (*)
|    +--- com.google.android.gms:play-services-analytics:8.1.0
|    |    +--- com.google.android.gms:play-services-basement:8.1.0 (*)
|    |    \--- com.google.android.gms:play-services-ads:8.1.0 (*)
|    +--- com.google.android.gms:play-services-appindexing:8.1.0 (*)
|    +--- com.google.android.gms:play-services-appinvite:8.1.0
|    |    \--- com.google.android.gms:play-services-base:8.1.0
|    |         \--- com.google.android.gms:play-services-basement:8.1.0 (*)
|    +--- com.google.android.gms:play-services-appstate:8.1.0
|    |    \--- com.google.android.gms:play-services-base:8.1.0 (*)
|    +--- com.google.android.gms:play-services-base:8.1.0 (*)
|    +--- com.google.android.gms:play-services-basement:8.1.0 (*)
|    +--- com.google.android.gms:play-services-cast:8.1.0
|    |    +--- com.google.android.gms:play-services-base:8.1.0 (*)
|    |    \--- com.android.support:mediarouter-v7:22.2.0
|    |         \--- com.android.support:appcompat-v7:22.2.0 -> 23.1.0 (*)
|    +--- com.google.android.gms:play-services-drive:8.1.0
|    |    \--- com.google.android.gms:play-services-base:8.1.0 (*)
|    +--- com.google.android.gms:play-services-fitness:8.1.0
|    |    +--- com.google.android.gms:play-services-base:8.1.0 (*)
|    |    \--- com.google.android.gms:play-services-location:8.1.0
|    |         +--- com.google.android.gms:play-services-base:8.1.0 (*)
|    |         \--- com.google.android.gms:play-services-maps:8.1.0
|    |              \--- com.google.android.gms:play-services-base:8.1.0 (*)
|    +--- com.google.android.gms:play-services-games:8.1.0
|    |    +--- com.google.android.gms:play-services-base:8.1.0 (*)
|    |    \--- com.google.android.gms:play-services-drive:8.1.0 (*)
|    +--- com.google.android.gms:play-services-gcm:8.1.0
|    |    \--- com.google.android.gms:play-services-base:8.1.0 (*)
|    +--- com.google.android.gms:play-services-identity:8.1.0
|    |    \--- com.google.android.gms:play-services-base:8.1.0 (*)
|    +--- com.google.android.gms:play-services-location:8.1.0 (*)
|    +--- com.google.android.gms:play-services-maps:8.1.0 (*)
|    +--- com.google.android.gms:play-services-measurement:8.1.0
|    |    +--- com.google.android.gms:play-services-base:8.1.0 (*)
|    |    \--- com.google.android.gms:play-services-analytics:8.1.0 (*)
|    +--- com.google.android.gms:play-services-nearby:8.1.0
|    |    \--- com.google.android.gms:play-services-base:8.1.0 (*)
|    +--- com.google.android.gms:play-services-panorama:8.1.0
|    |    \--- com.google.android.gms:play-services-base:8.1.0 (*)
|    +--- com.google.android.gms:play-services-plus:8.1.0
|    |    \--- com.google.android.gms:play-services-base:8.1.0 (*)
|    +--- com.google.android.gms:play-services-safetynet:8.1.0
|    |    \--- com.google.android.gms:play-services-base:8.1.0 (*)
|    +--- com.google.android.gms:play-services-vision:8.1.0
|    |    \--- com.google.android.gms:play-services-base:8.1.0 (*)
|    +--- com.google.android.gms:play-services-wallet:8.1.0
|    |    +--- com.google.android.gms:play-services-base:8.1.0 (*)
|    |    +--- com.google.android.gms:play-services-identity:8.1.0 (*)
|    |    \--- com.google.android.gms:play-services-maps:8.1.0 (*)
|    \--- com.google.android.gms:play-services-wearable:8.1.0
|         \--- com.google.android.gms:play-services-base:8.1.0 (*)
+--- com.facebook.android:facebook-android-sdk:3.22.0
|    +--- com.android.support:support-v4:[21,22) -> 23.1.0 (*)
|    \--- com.parse.bolts:bolts-android:1.1.4
+--- project :IndicatorLib
|    \--- com.android.support:support-v4:21.0.3 -> 23.1.0 (*)
+--- com.makeramen:roundedimageview:1.5.0
+--- com.github.clans:fab:1.5.0
\--- io.nlopez.smartlocation:library:3.2.0
     \--- com.android.support:support-annotations:23.0.1 -> 23.1.0

这是我的想法, smartlocation 库,这是造成问题,因为如果我删除这个库,应用程序被正确构建的罪魁祸首。按照的build.gradle 库我觉得这可能会发生冲突的唯一事情就是 GMS 库,我已经添加排除,但这也给了同样的错误。还有什么能做些什么来解决这个问题?

From what I think, smartlocation library is the main culprit which is causing the issue since if I remove this library, the app is building correctly. According to the build.gradle of the library, the only thing I think which can conflict is GMS library, for which I have added exclude but this is also giving the same error. What else can I do to resolve the problem?

更新: -

下面是错误日志 -

Here's the error log -

Error:Execution failed for task ':app:dexDebug'.
> com.android.ide.common.internal.LoggedErrorException: Failed to run command:
    F:\Android SDK\build-tools\21.1.2\dx.bat --dex --no-optimize --output F:\Android Projects\Office Projects\Fashalot Git Synced\Fashalot new\Fashalot\app\build\intermediates\dex\debug --input-list=F:\Android Projects\Office Projects\Fashalot Git Synced\Fashalot new\Fashalot\app\build\intermediates\tmp\dex\debug\inputList.txt
Error Code:
    2
Output:
    UNEXPECTED TOP-LEVEL EXCEPTION:
    com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536
        at com.android.dx.merge.DexMerger$6.updateIndex(DexMerger.java:502)
        at com.android.dx.merge.DexMerger$IdMerger.mergeSorted(DexMerger.java:277)
        at com.android.dx.merge.DexMerger.mergeMethodIds(DexMerger.java:491)
        at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:168)
        at com.android.dx.merge.DexMerger.merge(DexMerger.java:189)
        at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:454)
        at com.android.dx.command.dexer.Main.runMonoDex(Main.java:303)
        at com.android.dx.command.dexer.Main.run(Main.java:246)
        at com.android.dx.command.dexer.Main.main(Main.java

:215)
        在com.android.dx.command.Main.main(Main.java:106)

:215) at com.android.dx.command.Main.main(Main.java:106)

推荐答案

错误意味着你的应用程序,它引用达到一定规模,你遇到建立,表明您的应用程序已经达到了Android应用程序构建架构的限制错误的库

The error means your application and the libraries it references reach a certain size, you encounter build errors that indicate your app has reached a limit of the Android app build architecture.

所以,你必须让它 MultiDexApplication

So you have to make it MultiDexApplication

gradle这个部分

Part of gradle

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.0"

    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 21

        // Enabling multidex support.
        multiDexEnabled true
    }
}

dependencies {
  compile 'com.android.support:multidex:1.0.0'
}

创建扩展一个类 MultiDexApplication ,并在清单定义类

public class CustomMultiDexApplication extends MultiDexApplication {

     @Override
    public void onCreate() {
        super.onCreate();
    }
}

清单

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.android.multidex.myapplication">
    <application
        android:name="your.package.name.CustomMultiDexApplication">
    </application>
</manifest>

一个提示为支持V7 包括支持V4 所以不需要添加依赖 V4 库。

One tip as support v7 includes support v4 so don't need to add dependency of v4 library.

这篇关于意外的顶级例外:Android Studio中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆