ブログアーカイブ

eclipse, proguard, warning and error


eclipseでproguardを利用すると、android.support.v4 で error code 1が発生する。

warning: android.support.v4… : can’t find superclass or interface android.os. …

java.io.IOException: Please correct the above warnings first.
at proguard.Initializer.execute(Initializer.java:)

ADT 21にアップデートしてから初めてこのエラーが発生するようになりました。proguard.cfg に

  • -dontwarn **CompatHoneycomb
  • -keep class android.support.v4.** { *; }

を追加してもエラーが発生します。


思い切ってプロジェクトを作り直しました。新しいプロジェクトは proguard.cfgが含まれていません。代わりに project.properties ファイルで指定します。

project.properties ファイルの
# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
このコメントに従い、#proguard.config= の #を消して Application Package を作成したところ、エラーが発生しなくなりました。

新しいプロジェクトは icon.png の代わりに ic_launcher.png, ic_launchar-web.png が含まれています。また /bin フォルダーの下にも AndroidManifest.xml が含まれています。/AndroidManifest.xml を変更するとこちらもファイルも自動で更新されるようです。

同じPackage Nameと同じ署名を使用すれば、アップデート APK として Google Play にアップロードできます。

このエラーでお困りの方は試してください。Android は詳しいことはわかりません。背景が黒から白に変わりました。


Android SDK に ADT Bundle と SDK Tools Only の2種類のものが存在します。今後は ADT Bundle のほうを使うことになりそうです。