Hatena::ブログ(Diary)

そこはかとなく書くよ。

2011-02-05

Proguardでcan't find referenced class

SDK Tools r8とADT8.0.0から、Proguardを導入するのが簡単になりました。

しかし、Export Android applicationをしても、以下のようにクラスが見つからないよ、と出てきてproguardが実行できませんでした。

[2011-02-05 22:41:55 - ] Proguard returned with error code 1. See console
[2011-02-05 22:41:55 - ] Warning: org.apache.http.entity.mime.FormBodyPart: can't find referenced class net.jcip.annotations.NotThreadSafe
[2011-02-05 22:41:55 - ] Warning: org.apache.james.mime4j.codec.QuotedPrintableInputStream: can't find referenced class org.apache.commons.logging.LogFactory
[2011-02-05 22:41:55 - ] Warning: org.apache.james.mime4j.codec.QuotedPrintableInputStream: can't find referenced class org.apache.commons.logging.LogFactory

(中略)

[2011-02-05 22:41:55 - ]       You should check if you need to specify additional program jars.
[2011-02-05 22:41:55 - ] Warning: there were 44 unresolved references to classes or interfaces.
[2011-02-05 22:41:55 - ]          You may need to specify additional library jars (using '-libraryjars'),
[2011-02-05 22:41:55 - ]          or perhaps the '-dontskipnonpubliclibraryclasses' option.
[2011-02-05 22:41:55 - ] java.io.IOException: Please correct the above warnings first.
[2011-02-05 22:41:55 - ] 	at proguard.Initializer.execute(Initializer.java:308)
[2011-02-05 22:41:55 - ] 	at proguard.ProGuard.initialize(ProGuard.java:210)
[2011-02-05 22:41:55 - ] 	at proguard.ProGuard.execute(ProGuard.java:85)
[2011-02-05 22:41:55 - ] 	at proguard.ProGuard.main(ProGuard.java:499)

軽くぐぐると、いつもお世話になってるStackOverFlowのページが見つかりました。

http://stackoverflow.com/questions/4525661/android-proguard-cant-find-dynamically-referenced-class-javax-swing


これによると、「これは単なるwarningなんで気にするな」だそうです…

proguard.cfgに

-dontwarn
-dontnote

を付け加えればいいそうです。実際にこれでちゃんとapkファイルができあがりました。ほんとかなぁ、という気もしますが。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/rudi/20110205/1296914415