fix: hapus READ_MEDIA_IMAGES & VIDEO via Expo config plugin agar tahan prebuild EAS

Perubahan sebelumnya langsung di android/ tidak efektif karena EAS
melakukan prebuild ulang. Plugin withRemoveMediaPermissions.js kini
memfilter permission tersebut saat prebuild berjalan.
This commit is contained in:
2026-06-03 11:08:06 +08:00
parent e135c9dc11
commit 267454637f
4 changed files with 23 additions and 4 deletions

View File

@@ -92,7 +92,7 @@ android {
applicationId 'mobiledarmasaba.app'
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 17
versionCode 19
versionName "2.2.0"
}
signingConfigs {

View File

@@ -1,6 +1,4 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools">
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" tools:node="remove"/>
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO" tools:node="remove"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_MEDIA_AUDIO"/>

View File

@@ -23,7 +23,7 @@ export default {
},
android: {
package: "mobiledarmasaba.app",
versionCode: 19,
versionCode: 20,
adaptiveIcon: {
foregroundImage: "./assets/images/logo-icon-small.png",
backgroundColor: "#ffffff"
@@ -54,6 +54,7 @@ export default {
"expo-font",
"expo-image-picker",
"expo-web-browser",
"./plugins/withRemoveMediaPermissions",
[
"@react-native-firebase/app",
{

View File

@@ -0,0 +1,20 @@
const { withAndroidManifest } = require('@expo/config-plugins');
const BLOCKED_PERMISSIONS = [
'android.permission.READ_MEDIA_IMAGES',
'android.permission.READ_MEDIA_VIDEO',
];
const withRemoveMediaPermissions = (config) =>
withAndroidManifest(config, (config) => {
const manifest = config.modResults.manifest;
const permissions = manifest['uses-permission'] ?? [];
manifest['uses-permission'] = permissions.filter(
(perm) => !BLOCKED_PERMISSIONS.includes(perm.$?.['android:name'])
);
return config;
});
module.exports = withRemoveMediaPermissions;