我以前可以按照指導here設置並運行Proguard作爲構建的一部分,沒有任何問題。但是,由於更新到最新版本的ADT工具,我遇到了麻煩。我遇到的第一個問題是:Android上的Proguard Broken?
BUILD FAILED
/home/myhome/projects/myapp/add-proguard-release.xml:14:
/home/myhome/projects/myapp/${out.classes.dir} does not exist.
所以我最終不得不在任何local.properties或project.properties手動定義$ {} out.classes.dir。不是世界末日,但有點痛苦。
第二個更嚴重的問題是與外部罐子有關。我在一個外部的罐子裏有一個小班。當應用程序的設備,應用程序崩潰上啓動:
11-15 18:35:30.090: E/AndroidRuntime(28258): java.lang.NoClassDefFoundError: com.mysoftware.informaltimeprovider.InformalTimeProvider
11-15 18:35:30.090: E/AndroidRuntime(28258): at com.mysoftware.pagemonitor.PrintableTimeProvider.getInformalTime(PrintableTimeProvider.java:14)
努力創造InformalTimeProvider的實例時,它崩潰,而是由logcat的輸出判斷,這個類是不混亂,所以我不知道爲什麼有問題。
有在編譯過程中的警告:
[proguard] Copying resources from program jar [/home/myhome/projects/pagemonitor/libs/InformalTimeProvider.jar]
[proguard] Warning: can't write resource [META-INF/MANIFEST.MF] (Duplicate zip entry [InformalTimeProvider.jar:META-INF/MANIFEST.MF])
這雖然只是一個警告 - 我不希望崩潰。
任何幫助感激地收到。
巴里
你能告訴我你是如何手動重新劃分的? /home/myhome/projects/myapp/${out.classes.dir}不存在。 – sheetal
我現在無法檢查,但我有一種感覺放棄了對特定項目的proguard :-( – barry