LoginSignup
2

【Unity】Android プッシュ通知アイコン Assets/Plugins/Android/res is deprecated.

Last updated at Posted at 2021-03-09

2023/9/27
久々に自分の書いた記事参考に Unity2021.3.24辺りでビルドしたら通らなかった…。私の記事は忘れていただいて、こちらの方が書かれた素晴らしい記事を参考にしてください。
https://kingmo.jp/kumonos/unity-2021lts-res-folda-build-error/
ありがたやー。

目的

Androidプッシュ通知用のアイコンを設定したい。
つまり Assets/Plugins/Android/res/drawable-... に アイコンを配置したい。
しかしビルドログを見ると何か言われてるので対処したい。

実行環境

MacOSX:10.15.7
Unity:2019.4.19f1

(AndroidStudioは使いません)

問題

Unity2019からか分かりませんが
Android用にバッチビルドを行い、ログを眺めていますと

OBSOLETE - Providing Android resources in Assets/Plugins/Android/res is deprecated, please move your resources to an AAR or an Android Library. See "AAR plug-ins and Android Libraries" section of the Manual for more details.

Deep-L先生に翻訳をお願いすると

廃止 - Assets/Plugins/Android/res に Android リソースを提供することは推奨されていません。リソースを AAR または Android ライブラリに移動してください。詳細はマニュアルの「AARプラグインとAndroidライブラリ」のセクションを参照してください。

まだ使えましたが いつ無くなるか不明。
リソースだけ追加したいのに AndroidStudio起動して AAR作れとかちょっと…

考察

先ほどの文章を読むと
See "AAR plug-ins and Android Libraries" section of the Manual for more details.
と書いてありますので、ググると Android Developers公式 が出てきました

スクリーンショット 0003-03-09 14.49.10.png
・AARは ZIPファイル
・必須エントリは AndroidManifest.xml
(必須と書いてあるが Unityで使う分には たぶん必須ではない)
・決められたエントリ(ファイル or フォルダ)なら 含めることができる

対処

・aarはzip
・zip内には res/* だけでもOK(resより前のパスは含めないように)

> zipinfo hoge.aar

Archive: hoge.aar
Zip file size: xxxx byte, number of entries: xx
res/
res/drawable-hdpi/
res/drawable-hdpi/hoge.png
res/drawable-ldpi/
res/drawable-ldpi/hoge.png
...

ということで、あらかじめ resフォルダをzip化して拡張子aarにリネーム すればOKです。

私は流行(?)に乗って [参考URL]

IPreprocessBuildWithReportにて
・zip -r hoge.aar res -x "*.meta"
・元のresフォルダを除外
・AssetDatabase.Refresh()

IPostprocessBuildWithReportにて
・除外したresフォルダを元に戻す
・AssetDatabase.Refresh()

と行いました。
出来たapkの中を覗くと、無事 resフォルダが展開されていました。

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
2