Harden the Android manifest (#1741)

* Test with Android manifest modifications * Commit correct changes * Remove permission that was already present

tuxsudo committed Oct 14, 2024 at 19:10 UTC c3019b91cd7c73c3ed7f96da4ddfe68158cf0500
1 file changed +16 -21
android/app/src/main/AndroidManifestBase.xml
+16 -21
@@ -1,35 +1,30 @@
1 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
2 package="__APP_PACKAGE__">
3
4 - <uses-permission android:name="android.permission.INTERNET"/>
5 - <uses-permission android:name="android.permission.USE_FINGERPRINT"/>
6 - <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
7 - <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
8 - <uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE" />
4 + <uses-permission android:name="android.permission.INTERNET" />
5 + <uses-permission android:name="android.permission.USE_FINGERPRINT" />
6 <uses-permission android:name="android.permission.WAKE_LOCK" />
7 <uses-permission android:name="android.permission.CAMERA" />
11 - <uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"/>
12 - <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
8 + <uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />
9
14 - <!--bibo01 : hardware option-->
15 - <uses-feature android:name="android.hardware.bluetooth" android:required="false"/>
16 - <uses-feature android:name="android.hardware.bluetooth_le" android:required="false"/>
10 +<!-- bibo01 : hardware option-->
11 + <uses-feature android:name="android.hardware.bluetooth" android:required="false" />
12 + <uses-feature android:name="android.hardware.bluetooth_le" android:required="false" />
13
18 - <!-- required for API 18 - 30 -->
19 - <uses-permission
20 - android:name="android.permission.BLUETOOTH"
21 - android:maxSdkVersion="30" />
22 - <uses-permission
23 - android:name="android.permission.BLUETOOTH_ADMIN"
24 - android:maxSdkVersion="30" />
14 +<!-- required for API 18 - 30 -->
15 + <uses-permission android:name="android.permission.BLUETOOTH" android:maxSdkVersion="30" />
16 + <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" android:maxSdkVersion="30" />
17 + <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" android:maxSdkVersion="30" />
18
26 - <!-- API 31+ -->
19 +<!-- required for API <= 29 -->
20 + <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="29" />
21 +
22 +<!-- API 31+ -->
23 <uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
28 - <uses-permission
29 - android:name="android.permission.BLUETOOTH_SCAN"
30 - android:usesPermissionFlags="neverForLocation" />
24 + <uses-permission android:name="android.permission.BLUETOOTH_SCAN" android:usesPermissionFlags="neverForLocation" />
25 <uses-permission android:name="android.permission.BLUETOOTH_ADVERTISE" />
26
27 +
28 <application
29 android:name=".Application"
30 android:label="${APP_NAME}"