我正在尝试从我的 android 应用程序生成 excel 报告,为此我遇到了 apache POI
但是当我将 jar 文件导入文件夹时它显示我在 5 月发现的以下错误放置在网络上。
对于像这样的库
poi-3.11-20141221.jar
poi-ooxml-3.11-20141221.jar
poi-ooxml-schemas-3.11-20141221.jar
trouble writing output: Too many method references: 76142; max is 65536.
然后我转到了稍晚一点的版本
trouble writing output: Too many method references: 66024; max is 65536.
poi-3.9-20121203.jar
poi-ooxml-3.9-20121203.jar
poi-ooxml-schemas-3.9-20121203.jar
我已经看到可能与它相关的帖子,但仍然没有找到解决问题的任何明确方法,如果有人可以提出路线图,我将不胜感激
最佳答案
您的库定义了很多您可能不会使用的方法。 尝试在您的 gradle 构建文件中启用 minify:
android {
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
这将停止编译未使用的代码。 ProGuard包含在 AndroidStudio gradle 插件中。
此外,您还可以启用 resource shrinking :
...
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
...
同样适用于调试{...}
更新
看起来像是构建工具的问题: Changelog BuildTools v21.1(2014 年 10 月):
“添加了对 APK 的 multidex 文件支持和 Jack 支持以解决 64K 方法引用限制。”
关于android - 在 android 中创建 excel 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27888258/