Google iosched:com.android.dex.DexIndexOverflowException:方法 ID 不在

Posted

技术标签:

【中文标题】Google iosched:com.android.dex.DexIndexOverflowException:方法 ID 不在【英文标题】:Google iosched: com.android.dex.DexIndexOverflowException: method ID not in 【发布时间】:2014-11-17 10:55:32 【问题描述】:

3 周前,我下载了 Google iosched 源并将其导入我的 android 工作室。我可以在我的模拟器以及连接到我的机器的设备中安装和运行该应用程序。但是,上周,当我尝试运行同一个 Android Studio 项目时,我开始收到“FAILURE: Build failed with an exception. - com.android.dex.DexIndexOverflowException”。

Android SDK 工具 - 23.0.5 Android SDK 平台工具 - 21 Android SDK 构建工具 - 21.1.1 Android 5.0 (API 21) - SDK 平台版本 1 ARM EABI v7s 系统映像 - 修订版 1

我尝试按照Configuring Your App for Multidex with Gradle 中的建议进行更改 但没有运气。

android/build.gradle:

android 
    compileSdkVersion 14
    buildToolsVersion "21.1.0"

    defaultConfig 
        ...
        minSdkVersion 14
        targetSdkVersion 21
        ...

        // Enabling multidex support.
        multiDexEnabled true
    
    ...


dependencies 
  ...
  compile 'com.android.support:multidex:1.0.0'<br>

AndroidManifest.xml

android:name="android.support.multidex.MultiDexApplication">

但我开始遇到以下异常。

评估项目 ':android' 时出现问题。

找不到参数 [true] 的方法 multiDexEnabled() ...

我不清楚几周前运行良好的应用项目怎么会遇到这种问题?可能会发生什么变化,我哪里出错了?请有人帮助我。

注意:在同一台机器和 Android Studio 中,我有一个我们自己的应用程序可以继续运行而没有任何问题。它的目标 Sdk 版本是 19。我可以将其更改为 21 并在从 android ICS 运行到 Android L 的设备/模拟器上运行它。

【问题讨论】:

【参考方案1】:

multiDexEnabled 属性在 Gradle 插件中配置。 在您的主 bu​​ild.gradle 文件中,确保其版本至少为 0.14.0:

buildscript 
    dependencies 
        classpath 'com.android.tools.build:gradle:0.14.0'
    

【讨论】:

以上是关于Google iosched:com.android.dex.DexIndexOverflowException:方法 ID 不在的主要内容,如果未能解决你的问题,请参考以下文章

有没有适合 Android 开发初学者的 App 源码推荐

tapset::iosched

text https://proandroiddev.com/collapsing-appbarlayout-on-android-tv-86b538e85eed

text https://proandroiddev.com/collapsing-appbarlayout-on-android-tv-86b538e85eed

Ubuntu 14.04 设置Android开发环境

使用 com.nineoldandroids 库的替代方法是啥