Blog -
開発者にとって、リバースエンジニアリングは知的財産の侵害です。
最近では、オープンソースの大変ありがたい知識が豊富にありますが
それとはまた違った形でソースを守りたいというニーズが多様にあると思います。
特に商業的な開発は、内部に多数のブラックボックス化したいアクセスなども含みますし
新発明(あまり良い表現ではないですが)は守られて当然だと思います。
この辺は、モラルの問題もあると思いますがやはり苦労した物は守りたい物です。
AndroidのSDKは2.2からproguardという難読化のツールを使ってapkを難読化出来ます
利用すれば、完全で無いまでも解読にはそれなりの努力と投資が必要となります。
もうちょっとなんとかして欲しいなあと思いますが、Googleさんお願いします。
(OSがオープンで厳しいのは分かりますがなにとぞよろしく)
それと、もうひとつのタイトルのエラーですが
Eclipseでproguardを使うといろいろエラーが出ます、特にSDK15はお手上げでしたが
苦労の末、回避出来ました(といっても大した事ないですけど)ので備忘録として記事にします。
Proguard returned with error code 1. See console がコンソールに出てエラーになる場合
1.難読化対象のパッケージ、クラス内に参照先が無い物が含まれている。
2.プラグイン関係のエラー
3.コンパイル順(同名のパッケージ、クラスの参照が目的の物で無い)
4.バージョンが低い(proguard)
1の場合、proguard.cfgに対象として含めない様に設定する。
(Twitter4jなど必要なlibだけ組み込む場合に参照先が無い場合がある)
-dontwarn twitter4j.**
これでこのパッケージは難読化対象では無くなる様です。
2の場合、eclipse.exe -cleanで回避出来る事が多い。
3の場合、ビルド・パス→ビルドパスの構成→順序およびエクスポートで該当パッケージの優先度を上げる
4の場合、自分はこれだったんですが、SDK15の場合proguard4.4だとこれが発生するようです。
最新が4.6ですのでここで入手して(記事執筆時点では4.7が最新)解凍後のlibフォルダの中身を
Android SDKのフォルダtools/proguard/libへ上書きします。
これで回避出来ました。