Android打包出現未添加的權限——刪除ShareSDK添加的權限

接手的舊項目,上架的時候發現檢測出有定位權限,而項目里根本沒有用到定位,經過一番查找,發現是因爲集成了ShareSDk,詢問Mob技術人員得知可以通過代碼配置去除不需要的權限。
build.gradle文件中的MobSDK下通過以下方式去除即可:

MobSDK {
      ……
    permissions {
        exclude "android.permission.ACCESS_COARSE_LOCATION"
        exclude "android.permission.ACCESS_FINE_LOCATION"
        exclude "android.permission.不需要的權限"
        ……
    }

}

也可通過添加以下代碼的方式去除:

project.afterEvaluate {
        project.android.applicationVariants.all { variant ->
            variant.outputs.each { output ->
                output.processResources.doFirst { pm->
                    String manifestPath = output.processResources.manifestFile;
                    def manifestContent = file(manifestPath).getText()
                    manifestContent = manifestContent.replace('<uses-permission xmlns:tools="http://schemas.android.com/tools" android:name="android.permission.ACCESS_COARSE_LOCATION"/>', '')
                    ……
                    file(manifestPath).write(manifestContent)
                }
            }
        }
    }

參考:一次Android權限刪除經歷

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章