意外的顶级例外:Android Studio中 [英] UNEXPECTED TOP-LEVEL EXCEPTION: in 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屋!