android - 在 Android Studio 上构建应用程序时出错

标签 android android-studio

我是 Android Studio 的新手。我在构建项目时遇到下面提到的错误。

:app:shrinkDebugMultiDexComponents FAILED
    Error:Execution failed for task ':app:shrinkDebugMultiDexComponents'.
    > java.io.IOException: Can't read [D:\StudioWorkspace\SampleSDKDemoProject\app\build\intermediates\multi-dex\debug\allclasses.jar] (Can't process class [org/fmod/FMODAudioDevice.class] (256))

这是我在 app 文件夹中的 build.gradle 文件。

apply plugin: 'com.android.application'

android {
    compileSdkVersion 21
    buildToolsVersion '21.1.2'

    defaultConfig {
        applicationId "com.test.offerwall"
        minSdkVersion 9
        targetSdkVersion 21
        versionCode 1
        versionName "1.0"
        multiDexEnabled true
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}


dependencies {
    compile 'com.bee7.gamewall.aar:bee7@aar'
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.google.android.gms:play-services-base:6.5.87'
    compile 'com.test.android.ads.aar:myapp@aar'
    compile 'com.google.android.gms:play-services:7.5.0'
}
repositories {
    flatDir {
        dirs 'libs'
    }
}

我也更新了 android sdk,但没有成功。你们能帮我看看为什么我会遇到这个问题吗。

请帮我解决问题。

提前致谢。

如评论所述:我尝试使用删除 multiDexEnabled true 然后我得到了这个错误。

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)
    at com.android.dx.command.Main.main(Main.java:106)
Error:Execution failed for task ':app:dexDebug'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.7.0_45\bin\java.exe'' finished with non-zero exit value 2

最佳答案

对于第一个错误,删除 multiDexEnabled true

UNEXPECTED TOP-LEVEL EXCEPTION:

对于这个,删除你的一个 com.google.android.gms:play-services 库,它被包含了不止一次。

或将此添加到根级别的 build.gradle 中:

configurations {
    all*.exclude group: 'com.google.android.gms', module: 'play-services'
}

希望这会有所帮助。

关于android - 在 Android Studio 上构建应用程序时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31239687/

相关文章:

android - 既然 Android Studio 不再创建 R.java,如何找到资源 ID #s?

android - 当 Android Dialog 被解除时,你能触发一个事件吗?

java - 对话框自行更改方向。如何将对话框的方向固定为横向

android - 如何将 Linux C USB 读取转换为 Android?

gradle - Android Studio Gradle编译错误

android - 在 Android Studio 中将 png 图像转换为 9 补丁

android - android中的地理标记

Android RemoteExceptions 和服务

java - 构建中的 Android Studio 错误 - 原因 : startElement. getAttributeByName(QName ("name")) 不能为空

java - 设置选中复选框的限制