1
0

【UE4】Android の Permission を上書きする

Last updated at Posted at 2022-11-16

方法

ManifestRequirementsOverride.txt という名前のテキストファイルを [ProjectDirectory]/Build/Android 直下に配置すると、AndroidManifest.xml の Requirements 以降がテキストファイルの内容で置換され、デフォルトで定義されている Permission を上書きできる。
これにより Google Play Console でのアプリ提出時に、課金要素が無いのに Billing 関連のエラーでひっかかる問題を回避できたりする。

Android のパッケージングを行うと、そのパッケージに適用された AndroidManifest.xml[ProjectDirectory]/Intermediate/Android 内で見つかる。
実際に上書きできているかどうかは、ここを確認すればよい。

例えば UE 4.27 の AndroidManifest.xml の Requirements 以降は、デフォルトで以下のようになっている。

AndroidManifest.xml
<!-- Requirements -->
<uses-feature android:glEsVersion="0x00030001" android:required="true" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="com.android.vending.CHECK_LICENSE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="com.android.vending.BILLING" />
<!-- Supported texture compression formats (cooked) -->
<supports-gl-texture android:name="GL_KHR_texture_compression_astc_ldr" />

ここで WAKE_LOCK 以外の Permission が不要な場合は、ManifestRequirementsOverride.txt を以下のようにすればよい。

ManifestRequirementsOverride.txt
<uses-feature android:glEsVersion="0x00030001" android:required="true" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<!-- Supported texture compression formats (cooked) -->
<supports-gl-texture android:name="GL_KHR_texture_compression_astc_ldr" />

おまけ

超裏技的だが、同じ方法で Application Definition を上書きすることもできる。

参考

1
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
1
0