UE5 打包安卓後出現permission required you must approve this premission in app settings: storage彈窗

XTG111發表於2024-11-17

論壇裡面有人給出了利用UPL解決的方法

但不會UPL,沒有使用這個方法,而是參考了這篇知乎文章
其實都提到了在專案檔案\Intermediate\Android\arm64_AndroidManifest.xml這個檔案中的修改,
而在一開始的這個彈窗是其中的這條語句<meta-data android:name="com.epicgames.unreal.GameActivity.StartupPermissions" android:value="" />這是已經修改過了的。
而AndroidManifest.xml檔案的源頭可以透過上述那篇知乎文章找到,具體就是原始碼中的UEDeployAndroid.cs檔案,搜尋com.epicgames.unreal.GameActivity.StartupPermissions可以發現
image
value值就是StartupPermissions,而在該檔案前面幾行
image
可以看到其對當前的binary configuration如果不是shipping的話將會進行賦值去請求WRITE_EXTERNAL_STORAGE的許可權。

當然可以看到那個判讀還對bUseExternalFilesDir進行了判斷,而該值可以在project settings進行設定

解決方法

所以解決方法有兩種
一個是直接註釋掉這個賦值語句
或者是將binary configuration設定為shipping(沒有測試過)

相關文章