在Android 10 中,Google首次引入了分區存儲。分區存儲是需要以 Android 10 為目標平台,系統默認強制執行。
如果在 AndroidManifest 中添加了 requestLegacyExternalStorage=true 標志,就可以不受此限制。但是當 target API 更新為 30 (Android 11)后,系統會忽略該配置。
平台適配
1. 引擎存儲協議適配:引擎提供的存儲協議fs:// , cache://,引擎會進行適配。
2. 模塊適配:官方模塊已完成適配。開發者模塊會陸續完成適配。因大部分模塊是基於引擎協議fs:// 開發,因此需要適配的模塊很少。
應用適配
1. 如果是文件管理,文檔管理類應用,需要添加manageStorage模塊,申請 “所有文件訪問權限”。需要在谷歌play 控制台描述該權限的用途。
2. 如果不是文件管理類應用,不需特殊處理,編譯后進行測試,所有功能正常,即可提交應用商店。如果發現有相關功能異常,如文件保存不了,可在論壇反饋,官方會及時處理。
谷歌商店聲明,自2021年8月起,新應用必須以API級別30 (Android 11)為目標平台。自2021年11月起,所有應用更新必須以API級別30 (Android 11)為目標平台。
如何設置API級別為30
1、下載附件中的manifest.xml,將其中的targetSdkVersion更新為目標值,例如30;
2、將manifest.xml置於你的/項目代碼/res/目錄下(widget/res/manifest.xml);
3、將你的APP代碼中所有涉及到需要動態權限的操作,參照原帖附件中的代碼,改造一遍。附件下載請查看原帖🔗。
(例如進行拍照錄制視頻等需要使用攝像頭,以前的缺省處理中不需要申請攝像頭權限,而開啟動態權限后,必須在進行拍照之前,判斷是否有攝像頭權限,沒有則進行申請,只有用戶同意了攝像頭權限才能進行接下來拍照的操作);
4、提交代碼;
5、雲編譯界面勾選APP所需的權限;
6、使用升級環境編譯APP或自定義loader即可。
國內小米、華為等應用商店目前還未發現有針對Android 11的強制適配要求,如果您的APP無上線Google Play需求則不受上述影響。