Compare commits
11 Commits
amalia/21-
...
amalia/03-
| Author | SHA1 | Date | |
|---|---|---|---|
| 47ed52e9d2 | |||
| 02904b1e48 | |||
| 8df5b48578 | |||
| 21617f9c4c | |||
| 383ca069d5 | |||
| 267454637f | |||
| e135c9dc11 | |||
| 144db584d0 | |||
| 90551399a5 | |||
| 0d46d76c70 | |||
| 1c3aa308d1 |
@@ -1,4 +0,0 @@
|
||||
kotlin version: 2.0.21
|
||||
error message: The daemon has terminated unexpectedly on startup attempt #1 with error code: 0. The daemon process output:
|
||||
1. Kotlin compile daemon is ready
|
||||
|
||||
@@ -92,7 +92,7 @@ android {
|
||||
applicationId 'mobiledarmasaba.app'
|
||||
minSdkVersion rootProject.ext.minSdkVersion
|
||||
targetSdkVersion rootProject.ext.targetSdkVersion
|
||||
versionCode 17
|
||||
versionCode 21
|
||||
versionName "2.2.0"
|
||||
}
|
||||
signingConfigs {
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
<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"/>
|
||||
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES"/>
|
||||
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO"/>
|
||||
<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.RECORD_AUDIO"/>
|
||||
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
|
||||
<uses-permission android:name="android.permission.VIBRATE"/>
|
||||
|
||||
@@ -23,7 +23,7 @@ export default {
|
||||
},
|
||||
android: {
|
||||
package: "mobiledarmasaba.app",
|
||||
versionCode: 17,
|
||||
versionCode: 21,
|
||||
adaptiveIcon: {
|
||||
foregroundImage: "./assets/images/logo-icon-small.png",
|
||||
backgroundColor: "#ffffff"
|
||||
@@ -32,9 +32,7 @@ export default {
|
||||
permissions: [
|
||||
"READ_EXTERNAL_STORAGE",
|
||||
"WRITE_EXTERNAL_STORAGE",
|
||||
"READ_MEDIA_IMAGES", // Android 13+
|
||||
"READ_MEDIA_VIDEO", // Android 13+
|
||||
"READ_MEDIA_AUDIO" // Android 13+
|
||||
"READ_MEDIA_AUDIO"
|
||||
]
|
||||
},
|
||||
web: {
|
||||
@@ -56,6 +54,7 @@ export default {
|
||||
"expo-font",
|
||||
"expo-image-picker",
|
||||
"expo-web-browser",
|
||||
"./plugins/withRemoveMediaPermissions",
|
||||
[
|
||||
"@react-native-firebase/app",
|
||||
{
|
||||
|
||||
37
plugins/withRemoveMediaPermissions.js
Normal file
37
plugins/withRemoveMediaPermissions.js
Normal file
@@ -0,0 +1,37 @@
|
||||
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;
|
||||
|
||||
// Pastikan xmlns:tools ada di manifest root
|
||||
if (!manifest.$['xmlns:tools']) {
|
||||
manifest.$['xmlns:tools'] = 'http://schemas.android.com/tools';
|
||||
}
|
||||
|
||||
// Hapus entry yang ada (apapun atributnya)
|
||||
const existing = manifest['uses-permission'] ?? [];
|
||||
manifest['uses-permission'] = existing.filter(
|
||||
(perm) => !BLOCKED_PERMISSIONS.includes(perm.$?.['android:name'])
|
||||
);
|
||||
|
||||
// Tambahkan entry dengan tools:node="remove" agar Gradle merger
|
||||
// membuang permission ini dari SEMUA sumber (termasuk library manifests)
|
||||
for (const permission of BLOCKED_PERMISSIONS) {
|
||||
manifest['uses-permission'].push({
|
||||
$: {
|
||||
'android:name': permission,
|
||||
'tools:node': 'remove',
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
return config;
|
||||
});
|
||||
|
||||
module.exports = withRemoveMediaPermissions;
|
||||
Reference in New Issue
Block a user