2015-01-11 99 views
1

我想從我的Android應用程序生成Excel報告,併爲此我遇到了apache POI,但是當我將jar文件導入到文件夾中時,它向我顯示以下錯誤whoich, 。在Android中創建Excel表格

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 

我已經看到可以張貼相關,但仍然沒有找到解決這個問題的任何definate方式,將不勝感激,如果任何人可以建議路線圖

+0

你需要減少你的依賴關係,或者在你的調試版本中啓用縮小,以減少你的方法引用計數。 – CommonsWare

+0

我該怎麼做,你能給我一些指針嗎? – Hunt

回答

2

你的圖書館正在定義很多你可能不會使用的方法。 嘗試啓用縮小您的gradle這個構建文件:

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' 
} 
... 

同爲debug{...}

更新

貌似編譯工具的問題: Changelog編譯工具v21.1(2014年10月):

增加了對APK和APK的multidex文件支持,支持解決64K方法參考限制。

+0

因爲我使用eclipse是任何不同的方式做上述過程,或者我應該將其轉移到android studio – Hunt

+0

我強烈建議這樣做。Android Studio現在是**官方**。它使事情變得更容易,請試試。 https:/ /developer.android.com/sdk/installing/migrate.html – Xyaren

+0

我已經設置了所有內容,並且出現以下錯誤:I/O錯誤:C:\ Users \ bhatt \ AndroidstudioProjects \ MyApp \ app \ build \ outputs \ apk \ app-debug.apk(系統找不到指定的文件)' – Hunt