Избавление от ненужных разрешений в AndroidManifest.xml

#android #react-native #build #expo

Вопрос:

Вот какие у меня есть разрешения android/app/src/main/AndroidManifest.xml

 <uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.USE_FINGERPRINT" />
<uses-permission android:name="android.permission.VIBRATE" />
 

Но по некоторым причинам в сборке, в AndroidManifest.xml файл ( build/intermediates/merged_manifests/debug/AndroidManifest.xml ) У меня есть эти разрешения:

 <uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.USE_FINGERPRINT" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
 

Пытаясь найти способ, как избавиться от:

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

Ответ №1:

Когда разрешения добавляются подобным образом, это означает, что какая-то библиотека, от которой вы зависите, требует этого. Единственный способ исправить это-изменить библиотеку таким образом, чтобы она не использовалась или не использовалась библиотекой.

Комментарии:

1. Основной пакет @expo-это то, что дает эти разрешения…

2. Затем вам нужно сделать так, чтобы expo не нуждалась в этих разрешениях, или не использовать expo. Или жить с такими разрешениями. Я полагаю, что вы можете взломать процесс сборки, чтобы удалить их и переупаковать apk, но я бы не стал этого предлагать — если ему действительно нужны эти разрешения, он сломается, и это звучит как тонна работы.