mirror of
https://github.com/meowarex/rl-mobile.git
synced 2026-06-18 05:23:12 +10:00
Manager: full split-APK merge support
- CI now uses APKEditor's merge command for proper resources.arsc + split merging (previous ad-hoc Java merge missed split-only resource entries like notification_icon, causing runtime Resources$NotFoundException) - ManifestPatcher: dynamically detect the original package name and rewrite every reference to it (permissions/provider authorities); drop split-only attributes (isSplitRequired, requiredSplitTypes, splitTypes) so the installer doesn't reject the merged APK with "Missing split" - SmaliPatchStep: extract extension/**/*.smali entries from patches.zip into the smali dir before assembly, so new helper classes (radiant/SparkleButton etc) actually end up in the patched dex - PMIntentReceiver / PMInstallerError: surface PackageInstaller EXTRA_STATUS_MESSAGE so install failures show Android's real reason instead of the generic enum label Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -56,19 +56,11 @@ jobs:
|
||||
exit 1
|
||||
fi
|
||||
if [[ "$tidal_src" == *.apkm ]]; then
|
||||
echo "Extracting & merging splits from $tidal_src"
|
||||
workdir=$(mktemp -d)
|
||||
unzip -q "$tidal_src" -d "$workdir"
|
||||
ls "$workdir"
|
||||
dist_abs=$(realpath ./dist)/tidal-stock.apk
|
||||
|
||||
javac scripts/MergeApk.java -d scripts
|
||||
splits=("$workdir"/split_*.apk)
|
||||
java -cp scripts MergeApk "$dist_abs" "$workdir/base.apk" "${splits[@]}"
|
||||
|
||||
rm -rf "$workdir"
|
||||
echo "Merging splits from $tidal_src via APKEditor"
|
||||
curl -sLo /tmp/APKEditor.jar https://github.com/REAndroid/APKEditor/releases/download/V1.4.3/APKEditor-1.4.3.jar
|
||||
java -jar /tmp/APKEditor.jar m -i "$tidal_src" -o ./dist/tidal-stock.apk
|
||||
echo "Merged tidal-stock.apk:"
|
||||
ls -la "$dist_abs"
|
||||
ls -la ./dist/tidal-stock.apk
|
||||
else
|
||||
cp "$tidal_src" ./dist/tidal-stock.apk
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user