我使用Android Studio开发应用程序,但我面临这个错误,我不知道如何解决。
com.android.dex.DexIndexOverflow异常:方法ID不在[0,0xfffff]中
:app:lintVitalRelease
:app:prePackageMarkerForRelease
:app:transformClassesWithDexForRelease FAILED
Error:Execution failed for task ':app:transformClassesWithDexForRelease'.
> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536
Information:BUILD FAILED
Information:Total time: 34.783 secs
Information:1 error
尝试在build.gradle:中启用multiDex
android {
defaultConfig {
...
// Enabling multidex support.
multiDexEnabled true
}
...
}
dependencies {
compile 'com.android.support:multidex:1.0.0'
}
这篇文章可能会有所帮助:更新到最新的appcompat和支持库后出现DexIndexOverflowException问题
Android的预定义方法上限为65536。
如果你添加了完整的播放服务,请删除它并添加特定的服务。
删除compile 'com.google.android.gms:play-services:9.6.1'
然后为映射添加ex:compile 'com.google.android.gms:play-services-maps:9.6.1'
。
https://developers.google.com/android/guides/setup
显示了编译应用程序时可以包含的单独API的列表,以及如何在构建.gradle文件中描述它们
在gradle 中设置multiDex
defaultConfig {
// ...
multiDexEnabled true
}
这是我的工作。
在所有谷歌服务包列表下使用单个包的最佳方式。
Google Play服务API nbsp nbsp nbsp nbsp nbsp nbsp nbsp
build.gradle中的描述 nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp
Google+ nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp
com.google.android.gms:play服务加:11.2.0kbd>谷歌帐户登录 nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbspcom.google.android.gms:play services auth:111.2.0kbd>谷歌操作,基本客户端库com.Google.android.gms:play服务基本:11.2.0
谷歌地址 nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbspneneneba API com.google.android.gms:播放服务标识:11.2.0
谷歌分析 nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbspcom.google.android.gms:play服务分析:11.2.0kbd>谷歌意识 nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbspcom.google.android.gms:播放服务意识:11.2.0kbd>谷歌广播 nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbspcom.google.android.gms:播放服务播放:11.2.0kbd>谷歌云消息 nbsp nbsp nbsp nbsp nbsp nbsp nbspcom.google.android.gms:play服务gcm:11.2.0kbd>谷歌硬盘 nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbspcom.google.android.gms:play服务驱动器:11.2.0kbd>Google Fit nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp com.google.android.gms:play服务健身:11.2.0kbd>谷歌位置和活动识别com.Google.android.gms:播放服务位置:11.2.0
谷歌地图com.Google.android.gms:播放服务地图:11.2.0
谷歌移动广告 nbsp com.google.android.gms:播放服务广告:11.2.0kbd>谷歌位置com.Google.android.gms:播放服务位置:11.2.0
移动视觉com.google.android.gms:play服务视觉:11.2.0
谷歌附近com.Google.android.gms:播放附近的服务:11.2.0
谷歌全景查看器com.Google.android.gms:播放服务全景:11.2.0
Google Play游戏服务com.Google.android.gms:Play服务游戏:11.2.0
安全网com.google.android.gms:play服务安全网:11.2.0
安卓支付com.google.Android.gms:play服务钱包:11.2.0
Android Wearcom.google.Android.gms:播放服务可穿戴:11.2.0
Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536
solution : inside build.gradle(app)
defaultConfig {
applicationId "com.rentalhousereviews"
------------
-----------
multiDexEnabled true //add this line
}
dependencies {
compile 'com.android.support:multidex:1.0.1'
}
DexIndexOverflowException
也是由超过65536种方法引起的。当添加大型库(如Google Play服务)时,这种情况很容易发生。请参阅此答案以获取解决方案。
在我自己创建的项目中发现这个错误的4个多月里,我用这个东西失去了14个以上的项目。我正在寻找stackoverflow和其他的所有地方,以及android.developer.multex extr的官方网站。。。。。但谷歌安卓官方的任何方法都能解决我的问题。
最后,我尝试简单的改变谷歌播放服务的广告。这是我找到的最终解决方案:
-
首先编译witch,我发现错误是:compile'com.google.android.gms:play services:9.0.2'
-
更改只是添加了"-maps",并确保你的广告效果完美!compile'com.google.android.gms:play服务地图:9.0.2'
9.0.2版本可以让你的minSdkVersion 11工作,正如你所知,广告只能与版本11和更高版本一起工作!
我很自豪能找到解决方案并分享这个简单的解决方案来解决其他人的问题。
任务":app:transformDexArchiveWithDexMergerForDebug"的执行失败。
com.android.build.api.transform.TransformException:com.android.dex.DexIndexOverflowException:方法ID不在[0,0xfffff]:65536 中
最新版本的com.android.support:multidex:1.0.3
适用于我!
dependencies {
compile 'com.android.support:multidex:1.0.3'
}