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