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のページが見つかりました。
これによると、「これは単なるwarningなんで気にするな」だそうです…
proguard.cfgに
-dontwarn -dontnote
を付け加えればいいそうです。実際にこれでちゃんとapkファイルができあがりました。ほんとかなぁ、という気もしますが。
AutoFolderSyncを公開しました。
自動的にDropboxと同期してくれるAndroid用のツール、AutoFolderSyncを公開しました。
このAutoFolderSyncは、設定した同期フォルダを見張っており、ファイルが更新されるとすぐにDropboxと同期します。つまり、テキストファイルを編集し、保存すると勝手に同期してくれます。ネットワークにつながっていない場合は、つながったときに自動的に同期してくれます。
また、衝突にも考慮しています。ネットワークにつながっていないときに手元のファイルを編集しつつ、別のPCでそのファイルを編集すると、どっちにあわせていいか分かりません。この場合、"Conflicted"とファイル名につけて、同期します。つまり、二つのファイルができることになります。
特に拙作のsheditorと連携して使うといいのではないかと思っています。
注意点
- *子の階層のフォルダは同期しません*
- 同期するのはそのフォルダだけであり、下のフォルダは同期しません
- ファイルを変更してもすぐに同期してくれないときがあります
- これはメモリが足りなくてAutoFolderSyncが殺されるためです
- 次のサーバのチェックの時(標準では5分後)に同期します
Liteバージョン/Proバージョン
現在Liteバージョンを公開中です。なぜか"Lite"の文字がタイトルから消えているのですが。なんでだろう…
もしよろしければ、使ってください。また、コメントを頂けると大変ありがたく思います。
ただ、かなり自分ではテストしましたが、まだバグはあると思います。もしも不具合がありましたら、その旨連絡して頂けると、出来る限りなんとかしたいと思っています。