在Android中使用Apache POI时的兼容性问题

少年意气强不羁,虎胁插翼白日飞。这篇文章主要讲述在Android中使用Apache POI时的兼容性问题相关的知识,希望能为你提供帮助。
我在使用Apache POI时遇到了以下问题

Error:Execution failed for task ':app:transformClassesWithDexForDebug'. > com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:Program Filesjavajdk1.8.0_31injava.exe'' finished with non-zero exit value 2

我在gradle依赖项中添加了以下存储库。
dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:23.1.1' compile 'com.android.support:design:23.1.1' compile 'org.apache.poi:poi:3.14-beta1' compile 'org.apache.poi:poi-ooxml:3.14-beta1' }

我也测试了poi版3.9。但每次我遇到同样的问题。
如果我评论
compile 'org.apache.poi:poi-ooxml:3.14-beta1'

应用运行没有任何异常。
答案添加库时,您的应用程序有超过65k的方法。您需要启用multi-dex,为此修改您的gradle构建文件,如下所示:
android { compileSdkVersion 21 buildToolsVersion "21.1.0"defaultConfig { ... minSdkVersion 14 targetSdkVersion 21 ...// Enabling multidex support. multiDexEnabled true } ... }dependencies { compile 'com.android.support:multidex:1.0.0' }

在你的Manifest中添加MultiDexApplication类:
< ?xml version="1.0" encoding="utf-8"?> < manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.android.multidex.myapplication"> < application ... android:name="android.support.multidex.MultiDexApplication"> ... < /application> < /manifest>

【在Android中使用Apache POI时的兼容性问题】见http://developer.android.com/tools/building/multidex.html

    推荐阅读