1
1
MODDIR=" /data/adb/modules/system_app_nuker"
2
2
PERSIST_DIR=" /data/adb/system_app_nuker"
3
3
APP_LIST=" $PERSIST_DIR /app_list.json"
4
+ APP_LIST_TMP=" $PERSIST_DIR /app_list.json.tmp"
4
5
REMOVE_LIST=" $PERSIST_DIR /nuke_list.json"
5
6
ICON_DIR=" $PERSIST_DIR /icons"
6
7
@@ -17,14 +18,14 @@ aapt() { "$MODDIR/common/aapt" "$@"; }
17
18
18
19
# create applist cache
19
20
create_applist () {
20
- echo " [" > " $APP_LIST "
21
+ echo " [" > " $APP_LIST_TMP "
21
22
22
23
system_app_path=" /system/app /system/priv-app /vendor/app /product/app /product/priv-app /system_ext/app /system_ext/priv-app"
23
24
[ " $use_mountify_script " = true ] && [ -d " /my_bigball" ] && system_app_path=" $system_app_path /my_bigball"
24
25
for path in $system_app_path ; do
25
26
find " $path " -maxdepth 2 -type f -name " *.apk" | while read APK_PATH; do
26
27
# skip if already on app list
27
- if grep -q " $APK_PATH " " $APP_LIST " ; then
28
+ if grep -q " $APK_PATH " " $APP_LIST_TMP " ; then
28
29
continue
29
30
fi
30
31
@@ -41,7 +42,7 @@ create_applist() {
41
42
APP_NAME=$( aapt dump badging " $APK_PATH " 2> /dev/null | grep " application-label:" | sed " s/application-label://g; s/'//g" )
42
43
[ -z " $APP_NAME " ] && APP_NAME=" $PACKAGE_NAME "
43
44
44
- echo " {\" app_name\" : \" $APP_NAME \" , \" package_name\" : \" $PACKAGE_NAME \" , \" app_path\" : \" $APK_PATH \" }," >> " $APP_LIST "
45
+ echo " {\" app_name\" : \" $APP_NAME \" , \" package_name\" : \" $PACKAGE_NAME \" , \" app_path\" : \" $APK_PATH \" }," >> " $APP_LIST_TMP "
45
46
46
47
ICON_PATH=$( aapt dump badging " $APK_PATH " 2> /dev/null | grep " application:" | awk -F " icon=" ' {print $2}' | sed " s/'//g" )
47
48
# Extract the icon if it exists
@@ -55,19 +56,21 @@ create_applist() {
55
56
56
57
# Fallback for no package name found
57
58
for package_name in $( pm list packages -s | sed ' s/package://g' ) ; do
58
- if grep -q " \" $package_name \" " " $APP_LIST " ; then
59
+ if grep -q " \" $package_name \" " " $APP_LIST_TMP " ; then
59
60
continue
60
61
fi
61
62
APP_NAME=$( aapt dump badging " $package_name " 2> /dev/null | grep " application-label:" | sed " s/application-label://g; s/'//g" )
62
63
[ -z " $APP_NAME " ] && APP_NAME=" $package_name "
63
64
64
65
APK_PATH=$( pm path $package_name | sed ' s/package://g' )
65
66
echo " $APK_PATH " | grep -qE " /system/app|/system/priv-app|/vendor/app|/product/app|/product/priv-app|/system_ext/app|/system_ext/priv-app" || continue
66
- echo " {\" app_name\" : \" $APP_NAME \" , \" package_name\" : \" $package_name \" , \" app_path\" : \" $APK_PATH \" }, " >> " $APP_LIST "
67
+ echo " {\" app_name\" : \" $APP_NAME \" , \" package_name\" : \" $package_name \" , \" app_path\" : \" $APK_PATH \" }, " >> " $APP_LIST_TMP "
67
68
done
68
69
69
- sed -i ' $ s/,$//' " $APP_LIST "
70
- echo " ]" >> " $APP_LIST "
70
+ sed -i ' $ s/,$//' " $APP_LIST_TMP "
71
+ echo " ]" >> " $APP_LIST_TMP "
72
+
73
+ mv -f " $APP_LIST_TMP " " $APP_LIST "
71
74
}
72
75
73
76
# === MAIN SCRIPT ===
0 commit comments