美文网首页
记一次Android11找不到存储权限开关的问题

记一次Android11找不到存储权限开关的问题

作者: woilsy | 来源:发表于2021-07-29 20:29 被阅读0次

    问题出现:用户反映更新头像失败,提示获取权限失败,并且在权限中列表中找不到储存权限的管理开关。

    排查:

    1,其他app是否存在同样问题?经排查除了自己app以外其他app都没问题。

    2,是否是targetApi的问题,通过反编译发现别人家的app和自家apptargetApi一样,且在反编译包过程中发现一个有趣的东西。

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="29"/>

    android:maxSdkVersion="29"这个属性,虽然自己很少用过,但是看其语义就猜测是与本次Android11没有权限管理入口有关,因为Android11的ApiLevel是30,很明显是超过29的,所以锁定在这条属性上。

    解决思路:

    1,进入app module下的manifest中,查看混合后的manifest,但是并没有发现android:maxSdkVersion="29"这条属性。

    2,进行全局搜索android:maxSdkVersion="29",最终在一个第三方lib中找到了该条属性,找到了问题所在。

    解决方法:

    加入tools:node="replace"属性,使其无效或移除该第三方lib,类似这样

    <uses-permission android:name="android.permission.READ_PHONE_STATE" tools:node="replace" />

    相关文章

      网友评论

          本文标题:记一次Android11找不到存储权限开关的问题

          本文链接:https://www.haomeiwen.com/subject/mgefvltx.html