強火で進め

このブログではプログラム関連の記事を中心に書いてます。

Unity 2017.2 で Androidビルドで「CommandInvokationFailure: Failed to re-package resources.」というエラーで失敗する時の対処法

console に表示されたエラー文の中で重要そうな箇所はこちら。

stderr[
AndroidManifest.xml:5: error: Error: String types not allowed (at 'configChanges' with value 'mcc|mnc|locale|touchscreen|keyboard|keyboardHidden|navigation|orientation|screenLayout|uiMode|screenSize|smallestScreenSize|fontScale|layoutDirection|density').

]

Unity 2017.1 でビルドしたものと android:configChanges の値を比較した所、 density が追加されていました。

ドキュメントを確認した所、 API の要求は 24 。

| Android Developers
https://developer.android.com/guide/topics/manifest/activity-element.html

※日本語表示にしていると情報が古いのか density の記述が無いので英語表示に切り替えて確認して下さい。

Unity では Target API Level のデフォルトは以下の様な設定となっており、インストールされている Android SDK の最新版を使うという動作になっています。

この設定にも関わらず今回のエラーが出ている場合にはインストールされている Android SDK のバージョンが 23 以下の可能性が高いです。
Android Studio の SDK Manager などを使い 24 以降をインストールする事で改善されるはずです。