apktool でビルドコマンドを実行したところ以下のような public.xml の drawable/xxx が定義されていないというエラーが大量に出た。
...\res\values\public.xml:110: error: Public symbol drawable/foo declared here is not defined.
Windows のコマンドブロンプトを逆スクロールしても、このエラーで埋まっていて最初のほうの出力メッセージを見ることができない。
それで次のコマンドラインで標準エラー出力も含めて err.txt にリダイレクトした。
>apktool b target 1>err.txt 2>&1
するとエラーの始まりは拡張子が png だが実体は jpeg のファイルが原因で起きていた。
I: Building resources...
libpng error: Not a PNG file
ERROR: Failure processing PNG image ...\res\drawable-hdpi-v4\bar.png
...\res\values\public.xml:15: error: Public symbol drawable/hoge declared here is not defined.
(以下同様の public.xml の symbol not defined のエラーが大量に続く)
bar.png を調べると jpeg だったので png に変換して上書きした。
そして再びビルドすると public.xml symbol not defined のエラーは跡形もなく消えて、無事 apk が出来上がった。
実を言うと、最初はエラー出力の全容を確認することなく、 public.xml symbole ... not defined のエラーメッセージだけを調べて、解決策が見つからず諦めかけたのだ。
僕のようなおっちょこちょいも何人かはいるだろうと思って、ここに書いておくことにした。
0 件のコメント:
コメントを投稿