接手的舊項目,上架的時候發現檢測出有定位權限,而項目里根本沒有用到定位,經過一番查找,發現是因爲集成了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)
}
}
}
}