mirror of
https://github.com/LSPosed/MagiskOnWSALocal.git
synced 2025-05-06 14:56:36 +08:00
Fix merge res
This commit is contained in:
parent
6199cc938e
commit
d3a055c591
@ -28,27 +28,20 @@ if [ "$HOST_ARCH" != "x86_64" ] && [ "$HOST_ARCH" != "aarch64" ]; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
cd "$(dirname "$0")" || exit 1
|
cd "$(dirname "$0")" || exit 1
|
||||||
trap umount_clean EXIT
|
|
||||||
# export TMPDIR=$(dirname "$PWD")/WORK_DIR_
|
# export TMPDIR=$(dirname "$PWD")/WORK_DIR_
|
||||||
if [ "$TMPDIR" ] && [ ! -d "$TMPDIR" ]; then
|
if [ "$TMPDIR" ] && [ ! -d "$TMPDIR" ]; then
|
||||||
mkdir -p "$TMPDIR"
|
mkdir -p "$TMPDIR"
|
||||||
fi
|
fi
|
||||||
WORK_DIR=$(mktemp -d -t wsa-build-XXXXXXXXXX_) || exit 1
|
WORK_DIR=$(mktemp -d -t wsa-build-XXXXXXXXXX_) || exit 1
|
||||||
DOWNLOAD_DIR=../download
|
|
||||||
DOWNLOAD_CONF_NAME=download.list
|
|
||||||
OUTPUT_DIR=../output
|
|
||||||
MOUNT_DIR="$WORK_DIR"/system
|
MOUNT_DIR="$WORK_DIR"/system
|
||||||
SUDO="$(which sudo 2>/dev/null)"
|
SUDO="$(which sudo 2>/dev/null)"
|
||||||
if [ -z "$SUDO" ]; then
|
if [ -z "$SUDO" ]; then
|
||||||
unset SUDO
|
unset SUDO
|
||||||
fi
|
fi
|
||||||
WSA_WORK_ENV="${WORK_DIR:?}"/ENV
|
|
||||||
if [ -f "$WSA_WORK_ENV" ]; then rm -f "${WSA_WORK_ENV:?}"; fi
|
|
||||||
touch "$WSA_WORK_ENV"
|
|
||||||
export WSA_WORK_ENV
|
|
||||||
umount_clean() {
|
umount_clean() {
|
||||||
|
echo "Cleanup Work Directory"
|
||||||
if [ -d "$MOUNT_DIR" ]; then
|
if [ -d "$MOUNT_DIR" ]; then
|
||||||
echo "Cleanup Work Directory"
|
echo "Cleanup Mount Directory"
|
||||||
if [ -d "$MOUNT_DIR/vendor" ]; then
|
if [ -d "$MOUNT_DIR/vendor" ]; then
|
||||||
$SUDO umount "$MOUNT_DIR"/vendor
|
$SUDO umount "$MOUNT_DIR"/vendor
|
||||||
fi
|
fi
|
||||||
@ -68,6 +61,14 @@ umount_clean() {
|
|||||||
unset TMPDIR
|
unset TMPDIR
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
trap umount_clean EXIT
|
||||||
|
DOWNLOAD_DIR=../download
|
||||||
|
DOWNLOAD_CONF_NAME=download.list
|
||||||
|
OUTPUT_DIR=../output
|
||||||
|
WSA_WORK_ENV="${WORK_DIR:?}"/ENV
|
||||||
|
if [ -f "$WSA_WORK_ENV" ]; then rm -f "${WSA_WORK_ENV:?}"; fi
|
||||||
|
touch "$WSA_WORK_ENV"
|
||||||
|
export WSA_WORK_ENV
|
||||||
clean_download() {
|
clean_download() {
|
||||||
if [ -d "$DOWNLOAD_DIR" ]; then
|
if [ -d "$DOWNLOAD_DIR" ]; then
|
||||||
echo "Cleanup Download Directory"
|
echo "Cleanup Download Directory"
|
||||||
@ -635,9 +636,9 @@ EOF
|
|||||||
echo -e "Integrate Magisk done\n"
|
echo -e "Integrate Magisk done\n"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Merge Language Resources"
|
cp "$WORK_DIR/wsa/$ARCH/resources.pri" "$WORK_DIR"/wsa/pri/en-us.pri \
|
||||||
cp "$WORK_DIR"/wsa/"$ARCH"/resources.pri "$WORK_DIR"/wsa/pri/en-us.pri \
|
&& cp "$WORK_DIR/wsa/$ARCH/AppxManifest.xml" "$WORK_DIR"/wsa/xml/en-us.xml && {
|
||||||
&& cp "$WORK_DIR"/wsa/"$ARCH"/AppxManifest.xml "$WORK_DIR"/wsa/xml/en-us.xml && {
|
echo "Merge Language Resources"
|
||||||
tee "$WORK_DIR"/wsa/priconfig.xml <<EOF
|
tee "$WORK_DIR"/wsa/priconfig.xml <<EOF
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
<resources targetOsVersion="10.0.0" majorVersion="1">
|
<resources targetOsVersion="10.0.0" majorVersion="1">
|
||||||
@ -654,9 +655,9 @@ EOF
|
|||||||
else
|
else
|
||||||
res_merge_failed=1
|
res_merge_failed=1
|
||||||
fi
|
fi
|
||||||
[ -z "$res_merge_failed" ] || sed -i -zE "s/<Resources.*Resources>/<Resources>\n$(cat "$WORK_DIR"/wsa/xml/* | grep -Po '<Resource [^>]*/>' | sed ':a;N;$!ba;s/\n/\\n/g' | sed 's/\$/\\$/g' | sed 's/\//\\\//g')\n<\/Resources>/g" "$WORK_DIR"/wsa/"$ARCH"/AppxManifest.xml && \
|
[ -z "$res_merge_failed" ] && sed -i -zE "s/<Resources.*Resources>/<Resources>\n$(cat "$WORK_DIR"/wsa/xml/* | grep -Po '<Resource [^>]*/>' | sed ':a;N;$!ba;s/\n/\\n/g' | sed 's/\$/\\$/g' | sed 's/\//\\\//g')\n<\/Resources>/g" "$WORK_DIR"/wsa/"$ARCH"/AppxManifest.xml && \
|
||||||
echo -e "Merge Language Resources done\n"
|
echo -e "Merge Language Resources done\n"
|
||||||
} && [ -z "$res_merge_failed" ] || echo -e "Merge Language Resources failed\n" && unset res_merge_failed
|
} && [ -n "$res_merge_failed" ] && echo -e "Merge Language Resources failed\n" && unset res_merge_failed
|
||||||
|
|
||||||
echo "Add extra packages"
|
echo "Add extra packages"
|
||||||
$SUDO cp -r ../"$ARCH"/system/* "$MOUNT_DIR" || abort
|
$SUDO cp -r ../"$ARCH"/system/* "$MOUNT_DIR" || abort
|
||||||
|
@ -24,6 +24,7 @@ import warnings
|
|||||||
import zipfile
|
import zipfile
|
||||||
import os
|
import os
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
import re
|
||||||
|
|
||||||
warnings.filterwarnings("ignore")
|
warnings.filterwarnings("ignore")
|
||||||
|
|
||||||
@ -32,8 +33,11 @@ arch = sys.argv[1]
|
|||||||
zip_name = ""
|
zip_name = ""
|
||||||
wsa_zip_path= Path(sys.argv[2]).resolve()
|
wsa_zip_path= Path(sys.argv[2]).resolve()
|
||||||
workdir = Path(sys.argv[3]) / "wsa"
|
workdir = Path(sys.argv[3]) / "wsa"
|
||||||
|
archdir = Path(workdir / arch)
|
||||||
if not Path(workdir).is_dir():
|
if not Path(workdir).is_dir():
|
||||||
workdir.mkdir()
|
workdir.mkdir()
|
||||||
|
if not Path(archdir).is_dir():
|
||||||
|
archdir.mkdir()
|
||||||
with zipfile.ZipFile(wsa_zip_path) as zip:
|
with zipfile.ZipFile(wsa_zip_path) as zip:
|
||||||
for f in zip.filelist:
|
for f in zip.filelist:
|
||||||
if arch in f.filename.lower():
|
if arch in f.filename.lower():
|
||||||
@ -64,7 +68,8 @@ with zipfile.ZipFile(wsa_zip_path) as zip:
|
|||||||
elif g.filename == 'AppxManifest.xml':
|
elif g.filename == 'AppxManifest.xml':
|
||||||
g.filename = f'{name}.xml'
|
g.filename = f'{name}.xml'
|
||||||
l.extract(g, workdir / 'xml')
|
l.extract(g, workdir / 'xml')
|
||||||
|
elif re.search(u'Images/.+\.png', g.filename) != None:
|
||||||
|
l.extract(g, archdir)
|
||||||
with zipfile.ZipFile(zip_path) as zip:
|
with zipfile.ZipFile(zip_path) as zip:
|
||||||
if not Path(workdir / arch).is_dir():
|
print(f"unzipping from {zip_path}", flush=True)
|
||||||
print(f"unzipping from {zip_path}", flush=True)
|
zip.extractall(archdir)
|
||||||
zip.extractall(workdir / arch)
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user