4
我在Eclipse中有一個Android庫項目(A)和Android應用程序(B)。對於這種設置,我使用Proguard,目前爲止沒有問題。現在我想將Flurry庫(.jar)添加到我的庫項目中,該項目在仿真器上的調試模式下工作正常。無法獲取庫jar以使用Android和Proguard
但是,當我想導出我的應用程序的最終簽名的apk,使用Proguard時,我得到很多「無法找到引用類...」的警告,並且apk無法創建。
一些類的有:
org.joda.time.LocalDateTime
org.joda.time.format.DateTimeFormatter
org.xerial.snappy.Snappy
com.jumptap.adtag.JtAdView
...
好了,所以我增加了以下的proguard.cfg文件:
...
-dontskipnonpubliclibraryclassmembers
-libraryjars ../libproj/libs/FlurryAgent.jar
...
-keep public class com.flurry.android.FlurryAgent { *; }
-keep class com.flurry.** { *; }
-keep class org.codehaus.jackson.** { *; }
-keep class org.apache.avro.** { *; }
-keep interface com.flurry.** { *; }
-keep public class org.joda.time.** { public protected *; }
...
但是,我仍然得到SAM錯誤:(
任何想法,我在這裏失蹤?
如果我有自動構建,我會收到使用Proguard構建的問題。我不得不關閉它來發布版本。可能不相關,但值得一試... – Ifor
好吧,我最終用Google Analytics取代了Flurry - 更小的JAR文件,沒有任何問題,與Proguard :) – Matthias
謝謝Ifor!在將Google播放器服務添加爲庫項目之後,我一直在從Eclipse導出Proguard時遇到不可重複的構建失敗。修復:關閉自動構建;清理所有項目;建立谷歌播放服務_lib(右鍵單擊 - >生成項目),然後導出...主項目通過正常流程簽名的proguard生成。在關閉自動構建之前,我有許多奇怪的錯誤 - 缺少類錯誤,mapping.txt不完整,沒有控制檯錯誤(!)等的錯誤構建等。 – mwk