script opt

This commit is contained in:
KOWX712
2025-02-07 10:55:54 +08:00
parent bb7573f5dd
commit b81d95d31f
4 changed files with 46 additions and 28 deletions

View File

@@ -73,32 +73,41 @@ fi
# Optimization
OUTPUT_APP="$MODPATH/common/tmp/applist"
OUTPUT_SKIP="$MODPATH/common/tmp/skiplist"
OUTPUT_TMP="$MODPATH/common/tmp/tmp_applist"
until [ "$(getprop sys.boot_completed)" = "1" ]; do
sleep 1
done
# Create temporary directory
mkdir -p "$MODPATH/common/tmp"
pm list packages -3 2>/dev/null | awk -F: '{print $2}' > "$OUTPUT_TMP"
# Additional system apps
SYSTEM_APP="com.google.android.gms|com.google.android.gsf|com.android.vending"
pm list package -s | awk -F: '{print $2}' | grep -Ex "$SYSTEM_APP" >> "$OUTPUT_TMP"
# Initialize cache files to save app list and skip list
echo "# This file is generated from service.sh to speed up load time" > "$OUTPUT_APP"
echo "# This file is generated from service.sh to speed up load time" > "$OUTPUT_SKIP"
cat "$OUTPUT_TMP" | while read -r PACKAGE; do
# Get list of third party apps and specific system apps, then cache app name
# Check Xposed module
{
pm list packages -3 2>/dev/null
pm list package -s | grep -E "$SYSTEM_APP"
} | awk -F: '{print $2}' | while read -r PACKAGE; do
# Get APK path for the package
APK_PATH=$(pm path "$PACKAGE" 2>/dev/null | grep "base.apk" | awk -F: '{print $2}' | tr -d '\r')
[ -z "$APK_PATH" ] && APK_PATH=$(pm path "$PACKAGE" 2>/dev/null | grep ".apk" | awk -F: '{print $2}' | tr -d '\r')
if [ -n "$APK_PATH" ]; then
# Extract app name and save package info
APP_NAME=$(aapt dump badging "$APK_PATH" 2>/dev/null | grep "application-label:" | sed "s/application-label://g; s/'//g")
echo "app-name: $APP_NAME, package-name: $PACKAGE" >> "$OUTPUT_APP"
else
echo "app-name: Unknown App package-name: $PACKAGE" >> "$OUTPUT_APP"
fi
# Check if app is Xposed module and add to skip list if not
if ! aapt dump xmltree "$APK_PATH" AndroidManifest.xml 2>/dev/null | grep -qE "xposed.category|xposeddescription"; then
echo "$PACKAGE" >> "$OUTPUT_SKIP"
fi
done
rm -f "$OUTPUT_TMP"