Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/192.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android Studio DexIndexOverflowException:方法ID不在_Java_Android_Android Studio_Google Api_Android Gradle Plugin - Fatal编程技术网

Java Android Studio DexIndexOverflowException:方法ID不在

Java Android Studio DexIndexOverflowException:方法ID不在,java,android,android-studio,google-api,android-gradle-plugin,Java,Android,Android Studio,Google Api,Android Gradle Plugin,我使用Android Studio开发一个应用程序,我面临这个错误,我不知道如何解决 com.android.dex.DexIndexOverflowException:方法ID不在[0,0xffff]中 尝试在build.gradle中启用多索引: android { defaultConfig { ... // Enabling multidex support. multiDexEnabled true } ...

我使用Android Studio开发一个应用程序,我面临这个错误,我不知道如何解决

com.android.dex.DexIndexOverflowException:方法ID不在[0,0xffff]中


尝试在build.gradle中启用多索引:

android {

    defaultConfig {
        ...

        // Enabling multidex support.
        multiDexEnabled true
    }
    ...
}

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

这篇文章可能会有所帮助:

Android有一个预定义的方法上限65536

如果您添加了完整的播放服务,请将其删除并添加特定的播放服务

删除
编译'com.google.android.gms:play services:9.6.1'
然后为地图添加ex:
编译'com.google.android.gms:play services maps:9.6.1'


显示了编译应用程序时可以包含的单独API的列表,以及如何在build.gradle文件中描述这些API。4个多月以来,我在自己创建的项目中发现了此错误,因此我丢失了超过14个项目。 我正在寻找stackoverflow和其他的所有地方,以及android.developer.multidex Extra的官方网站。。。。。但谷歌安卓的任何官方方法都可以解决我的问题

最后,我尝试对谷歌的广告播放服务进行简单的更改。 这是我找到的最终解决方案:

  • 首先,我发现错误是: 编译'com.google.android.gms:play services:9.0.2'

  • 改变仅仅是添加“-地图”,并确保你的广告它的工作完美! 编译'com.google.android.gms:play services地图:9.0.2'

版本9.0.2可以让你的MinsdkVersion11工作,因为你知道广告只能与版本11和hight一起工作


我很自豪能找到解决方案并与大家分享这个简单的解决方案来解决其他人的问题。

DexIndexOverflowException
也是由超过65536种方法引起的。当添加大型库(如Google Play services)时,这很容易发生。有关解决方案,请参阅。

在渐变中设置多重索引

defaultConfig {
    // ...
    multiDexEnabled true
}

这对我来说很有用。

在所有谷歌服务包列表中,使用单个包的最佳方式

Google Play服务APIRescription in build.gradle
Google+com.Google.android.gms:play services plus:11.2.0
谷歌账号登录com.Google.android.gms:play services auth:11.2.0
Google Actions,Base Client Librarycom.Google.android.gms:play services Base:11.2.0
谷歌地址API com.Google.android.gms:play服务标识:11.2.0
Google Analytics com.Google.android.gms:play services Analytics:11.2.0
Google Aware com.Google.android.gms:play services Aware:11.2.0
Google Cast com.Google.android.gms:play services Cast:11.2.0
Google Cloud Messaging com.Google.android.gms:play services gcm:11.2.0
Google Drive com.Google.android.gms:play services Drive:11.2.0
Google Fit com.Google.android.gms:play services健身:11.2.0
谷歌位置和活动识别com.Google.android.gms:play services位置:11.2.0
谷歌地图com.Google.android.gms:play services地图:11.2.0
谷歌移动广告com.Google.android.gms:播放服务广告:11.2.0
Google Places com.Google.android.gms:play services Places:11.2.0
Mobile Vision com.google.android.gms:play services Vision:11.2.0
谷歌附近的com.Google.android.gms:附近的播放服务:11.2.0
Google Panorama Viewer com.Google.android.gms:play services Panorama:11.2.0
Google Play Game services com.Google.android.gms:Play services games:11.2.0
SafetyNet com.google.android.gms:play services SafetyNet:11.2.0
Android Pay com.google.Android.gms:play services钱包:11.2.0

Android Wear com.google.Android.gms:play services wearable:11.2.0

任务执行失败:应用程序:transformDexArchiveWithDexMergerForDebug'

com.android.build.api.transform.TransformException:com.android.dex.DexIndexOverflowException:方法ID不在[0,0xffff]:65536中

最新版本
com.android.support:multidex:1.0.3
适合我

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

我正在使用ANDROID STUDIOCheckout谷歌关于如何启用Multidex的文档,这是我的问题。我创建了MapActivity,谷歌添加了一整套服务。非常感谢。在我的例子中,我设置了两个依赖项
compile'com.google.android.gms:play services:10.0.1'
compile'com.google.android.gms:play services-ads:10.0.1'
,并将其缩减为
compile'com.google.android.gms:play services-ads:10.0.1'
,这应该是公认的答案。这对我有用。其他的可能会起作用,但潜在的原因是使用了很多不需要的服务。如果错误是由添加Google Play服务引起的,那么看看这个答案:我的问题是通过将dexOptions{javaMaxHeapSize“4g”}@DanielPereira解决的。最终,我们应该做的事情是优化我们的代码,我们的应用程序,而不是增加堆大小,即使我们现在的现代设备的内存比过去大:)@VIRGINSTV,只是为了把一切放在一个地方:此外,您需要调用MultiDex.install或使用MultiDexApplication根据文档。另一个解决方案是将minSdk改为21,在不需要多索引的情况下,将不会出现这样的错误多索引启用了什么?
    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'
}
dependencies {
  compile 'com.android.support:multidex:1.0.3'
}