我使用react-native init ProjectName
创建了一个新的react-native应用程序。
然后,我从android.permission.INTERNET
删除了android.permission.SYSTEM_ALERT_WINDOW
和AndroidManifest.xml
。
使用cd android && ./gradlew assembleRelease
我创建了一个新的APK。
然后我用aapt dump badging app-release-unsigned.apk
分析了它。重要输出:
uses-permission: name='android.permission.SYSTEM_ALERT_WINDOW'
uses-permission: name='android.permission.WRITE_EXTERNAL_STORAGE'
uses-permission: name='android.permission.READ_PHONE_STATE'
uses-permission: name='android.permission.READ_EXTERNAL_STORAGE'
这些权限来自哪里?我该如何删除它们?我不会使用其中任何一个。
答案 0 :(得分:0)
我认为在构建发布版apk时这是一个问题。我在media上找到了一篇文章,其中介绍了如何通过编辑gradle文件而不是AndroidManifest.xml来删除权限。看看这个:https://medium.com/@applification/fixing-react-native-android-permissions-9e78996e9865
希望这会有所帮助;)
答案 1 :(得分:0)
试试这个!
在 Manifest.xml
中<uses-permission android:name="${permissionName}" tools:node="remove"/>
即
<uses-permission android:name="android.permission.READ_PHONE_STATE" tools:node="remove"/>
对其他人做同样的事。