LoginSignup
0
0

Androidアプリのproguardで画像が表示されなくなる件

Posted at

問題

過去にリリースしたアプリに取り込んでいる各種ライブラリの最新化などメンテしていた際に
proguardまわりを見直していたら、突如画像が出力されなくなった。
スクリーンショット 2023-10-09 11.47.30.png
画像1.正しく表示されている例
スクリーンショット 2023-10-09 11.47.18.png
画像2.正しく表示されていない例

原因・解決方法

build.gradle(:app)のbuildTypesに「shrinkResources true」を追加したことが原因。
これを削除したことで問題なく画像が出力されるようになった。
スクリーンショット 2023-10-09 11.44.23.png

分析とか

参考:https://developer.android.com/studio/build/shrink-code?hl=ja
「shrinkResources true」を追加すると
リソースの圧縮という機能が有効になるらしいのだが
プログラム的に参照されていないと判断されたリソースは削除されるらしい。

本アプリは、実行時に定義された画像ファイル名文字列を元に
リソースIDを取得して画像表示する実装となっているため
参照されていない画像として判断されてしまった模様(細かい動きはわからないけど……)

同様に別のアプリでもビルド時に「string.xml」で定義している文字列が削除されているっぽかったので
そちらもこの「shrinkResources true」が原因かも。。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0