Optimize loading time x2

Reduce load time by preload skiplist in service.sh.
This commit is contained in:
KOWX712
2024-11-24 20:33:09 +08:00
parent 213c4a2f13
commit b50e9aa086
2 changed files with 16 additions and 9 deletions

View File

@@ -1,6 +1,7 @@
#!/system/bin/sh #!/system/bin/sh
MODPATH=${0%/*} MODPATH=${0%/*}
SKIPLIST="$MODPATH/skiplist"
OUTPUT="$MODPATH/exclude-list" OUTPUT="$MODPATH/exclude-list"
KBOUTPUT="$MODPATH/.extra" KBOUTPUT="$MODPATH/.extra"
@@ -21,10 +22,11 @@ fi
# Find xposed package name # Find xposed package name
pm list packages -3 | awk -F: '{print $2}' | while read -r PACKAGE; do pm list packages -3 | awk -F: '{print $2}' | while read -r PACKAGE; do
pm path "$PACKAGE" | grep "base.apk" | awk -F: '{print $2}' | tr -d '\r' | \ if ! grep -Fq "$PACKAGE" "$SKIPLIST"; then
while read -r APK_PATH; do pm path "$PACKAGE" | grep "base.apk" | awk -F: '{print $2}' | tr -d '\r' | while read -r APK_PATH; do
aapt dump xmltree "$APK_PATH" AndroidManifest.xml 2>/dev/null | grep -qE "xposed.category|xposeddescription" && echo "$PACKAGE" >> "$OUTPUT" aapt dump xmltree "$APK_PATH" AndroidManifest.xml 2>/dev/null | grep -qE "xposed.category|xposeddescription" && echo "$PACKAGE" >> "$OUTPUT"
done done
fi
done done
if [ "$skipkb" != "true" ]; then if [ "$skipkb" != "true" ]; then

View File

@@ -1,5 +1,6 @@
MODPATH=${0%/*} MODPATH=${0%/*}
OUTPUT="$MODPATH/common/applist" OUTPUT_APP="$MODPATH/common/applist"
OUTPUT_SKIP="$MODPATH/common/skiplist"
TS="/data/adb/modules/tricky_store" TS="/data/adb/modules/tricky_store"
SCRIPT_DIR="/data/adb/tricky_store" SCRIPT_DIR="/data/adb/tricky_store"
TSPA="/data/adb/modules/tsupport-advance" TSPA="/data/adb/modules/tsupport-advance"
@@ -38,14 +39,18 @@ else
until [ "$(getprop sys.boot_completed)" = "1" ]; do until [ "$(getprop sys.boot_completed)" = "1" ]; do
sleep 1 sleep 1
done done
> "$OUTPUT" 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"
pm list packages -3 | awk -F: '{print $2}' | while read -r PACKAGE; do pm list packages -3 | awk -F: '{print $2}' | while read -r PACKAGE; do
APK_PATH=$(pm path "$PACKAGE" | grep "base.apk" | awk -F: '{print $2}' | tr -d '\r') APK_PATH=$(pm path "$PACKAGE" | grep "base.apk" | awk -F: '{print $2}' | tr -d '\r')
if [ -n "$APK_PATH" ]; then if [ -n "$APK_PATH" ]; then
APP_NAME=$(aapt dump badging "$APK_PATH" 2>/dev/null | grep "application-label:" | sed "s/application-label://g; s/'//g") 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" echo "app-name: $APP_NAME, package-name: $PACKAGE" >> "$OUTPUT_APP"
else else
echo "app-name: Unknown App package-name: $PACKAGE" >> "$OUTPUT" echo "app-name: Unknown App package-name: $PACKAGE" >> "$OUTPUT_APP"
fi
if ! aapt dump xmltree "$APK_PATH" AndroidManifest.xml 2>/dev/null | grep -qE "xposed.category|xposeddescription"; then
echo "$PACKAGE" >> "$OUTPUT_SKIP"
fi fi
done done
. "$SCRIPT_DIR/UpdateTargetList.sh" . "$SCRIPT_DIR/UpdateTargetList.sh"