2012/04/03

「Proguard returned with error code 1. See consle」エラーの解消方法

Androidアプリを「Export Signed Application Package」で作成しようとしたときに、「Proguard returned with error code 1. See consle」エラーが出た場合の解消方法をメモする。
Proguardを使用するとエラーが発生し、Proguardを使用しなければエラーが発生しなかった。
したがって、なぜProguardを使用するとエラーが発生するのかを調べ、その解決方法を探った。

○解決方法
先に結論を述べると、Proguardが使用するであろうファイルのフルパスにはスペース及び"括弧"が入らないようにする。



□エラー内容

C:\dev\android\android-sdk-windows\tools\proguard\bin\proguard.bat @C:\dev\eclipse3.6.2\workspace\SampleProject\proguard.cfg @C:\Users\UserName\AppData\Loca\Temp\android_4422402008691336988.pro
Proguard returned with error code 1. See console
Refreshing resource folders.



□原因の探し方

例:
"C:\Users\UserName\AppData\Local\Temp\android_4422402008691336988.pro"
※実際のファイルはコンソールに表示されている"android_数字.pro"を開く。

(エラーがコンソールに表示されていなかった場合は、「ウィンドウ->設定」を選択して「設定」を開く。「Android->ビルド」をクリックし、「ビルド出力」を「詳細」を選択してOKボタンを押す。これで表示できる設定になる。)

中身はこんな感じ。

  -injars C:\Users\ユーザ名\AppData\Local\Temp\android_925785587453515452.jar;C:\dev\android\AdSDK\adSdk(20120318).jar
  -outjars C:\Users\ユーザ名\AppData\Local\Temp\android_8279953230116289247.jar
  -libraryjars C:\dev\android\android-sdk-windows\platforms\android-7\android.jar
  -dump C:\dev\eclipse3.6.2\workspace\SampleProject\proguard\dump.txt
  -printseeds C:\dev\eclipse3.6.2\workspace\SampleProject\proguard\seeds.txt
  -printusage C:\dev\eclipse3.6.2\workspace\SampleProject\proguard\usage.txt
  -printmapping C:\dev\eclipse3.6.2\workspace\SampleProject\proguard\mapping.txt


jar読み込みで"adSdk(20120318).jar"の括弧が入っていたのでエラーが出てしまっていた。


■解決手順
  1.jarのパスから括弧を取り除く(ファイル名やフォルダ名を変更する)。
  2.「プロジェクト->プロパティ」のライブラリーにおいて、変更したjarを設定しなおす。

0 件のコメント:

コメントを投稿