无法使用Apache POI库运行Android Studio项目

时间:2015-03-27 04:41:32

标签: android-studio apache-poi libraries

我第二次决定试试Android Studio。 所以我导入了一个使用Apache POI库的项目。 这是我的依赖:

compile 'com.google.http-client:google-http-client-gson:1.19.0'
compile 'com.google.code.gson:gson:2.1'
compile 'com.android.support:appcompat-v7:19.1.0'
compile 'com.google.android.gms:play-services:+'
compile files('libs/commons-codec-1.9.jar')
compile files('libs/commons-logging-1.1.3.jar')
compile files('libs/google-api-client-1.16.0-rc.jar')
compile files('libs/google-api-client-android-1.16.0-rc.jar')
compile files('libs/google-api-services-drive-v2-rev111-1.16.0-rc.jar')
compile files('libs/google-http-client-1.16.0-rc.jar')
compile files('libs/google-http-client-android-1.16.0-rc.jar')
compile files('libs/google-http-client-jackson-1.16.0-rc.jar')
compile files('libs/google-http-client-jackson2-1.16.0-rc.jar')
compile files('libs/google-oauth-client-1.16.0-rc.jar')
compile files('libs/jackson-core-2.1.3.jar')
compile files('libs/jsr305-1.3.9.jar')
compile files('libs/log4j-1.2.17.jar')
compile files('libs/poi-3.11-20141221.jar')

当我尝试跑步时,我有这个错误:

04:27:59.765 [ERROR] [org.gradle.BuildExceptionReporter] FAILURE: Build failed with an exception.
04:27:59.766 [ERROR] [org.gradle.BuildExceptionReporter] 
04:27:59.767 [ERROR] [org.gradle.BuildExceptionReporter] * What went wrong:
04:27:59.768 [ERROR] [org.gradle.BuildExceptionReporter] Execution failed for task ':app:dexDebug'.
04:27:59.769 [ERROR] [org.gradle.BuildExceptionReporter] > com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.7.0_75\bin\java.exe'' finished with non-zero exit value 2

使用--stacktrace --info --debug进行编译时,我得到了这个:

04:27:59.754 [ERROR] [org.gradle.api.Project] AGPBI: {"kind":"SIMPLE","text":"UNEXPECTED TOP-LEVEL EXCEPTION:","position":{},"original":"UNEXPECTED TOP-LEVEL EXCEPTION:"}
AGPBI: {"kind":"SIMPLE","text":"com.android.dex.DexException: Multiple dex files define Lcom/google/api/client/util/StreamingContent;","position":{},"original":"com.android.dex.DexException: Multiple dex files define Lcom/google/api/client/util/StreamingContent;"}

我注意到当我删除poi-3.11-20141221.jar时一切正常。

我在这个问题上搜索了很长时间,但是我开始厌倦它,并认真地考虑回到日食。

所以我的问题是: 我想让我的项目在带有POI库的Android Studio中运行,我想做什么?

谢谢

1 个答案:

答案 0 :(得分:4)

我懂了!!!

我意识到问题是在同一个项目中使用Apache POI,google驱动器和Google Play服务库。所有这些库在我的项目中引入了太多方法。

为了避免编译错误,我只是在构建gradle中启用multiDex:

defaultConfig {
    multiDexEnabled = true
}

它有效!现在很高兴:))

我在这里找到了这个解决方案: Unable to execute dex: method ID not in [0, 0xffff]: 65536