mirror of
https://github.com/topjohnwu/Magisk.git
synced 2025-08-24 12:29:35 +00:00
Build a single APK for all ABIs
This commit is contained in:
@@ -147,15 +147,22 @@ echo "RECOVERYMODE=$RECOVERYMODE" >> config
|
||||
[ ! -z $SHA1 ] && echo "SHA1=$SHA1" >> config
|
||||
|
||||
# Compress to save precious ramdisk space
|
||||
./magiskboot compress=xz magisk32 magisk32.xz
|
||||
./magiskboot compress=xz magisk64 magisk64.xz
|
||||
$IS64BIT && SKIP64="" || SKIP64="#"
|
||||
SKIP32="#"
|
||||
SKIP64="#"
|
||||
if [ -f magisk32 ]; then
|
||||
./magiskboot compress=xz magisk32 magisk32.xz
|
||||
unset SKIP32
|
||||
fi
|
||||
if [ -f magisk64 ]; then
|
||||
./magiskboot compress=xz magisk64 magisk64.xz
|
||||
unset SKIP64
|
||||
fi
|
||||
|
||||
./magiskboot cpio ramdisk.cpio \
|
||||
"add 0750 init magiskinit" \
|
||||
"mkdir 0750 overlay.d" \
|
||||
"mkdir 0750 overlay.d/sbin" \
|
||||
"add 0644 overlay.d/sbin/magisk32.xz magisk32.xz" \
|
||||
"$SKIP32 add 0644 overlay.d/sbin/magisk32.xz magisk32.xz" \
|
||||
"$SKIP64 add 0644 overlay.d/sbin/magisk64.xz magisk64.xz" \
|
||||
"patch" \
|
||||
"backup ramdisk.cpio.orig" \
|
||||
|
@@ -50,16 +50,15 @@ api_level_arch_detect
|
||||
|
||||
[ $API -lt 21 ] && abort "! Magisk only support Android 5.0 and above"
|
||||
|
||||
ui_print "- Device platform: $ARCH"
|
||||
ui_print "- Device platform: $ABI"
|
||||
|
||||
BINDIR=$INSTALLER/lib/$ABILONG
|
||||
[ -d "$BINDIR" ] || BINDIR=$INSTALLER/lib/$ARCH32
|
||||
[ -d "$BINDIR" ] || BINDIR=$INSTALLER/lib/armeabi-v7a
|
||||
BINDIR=$INSTALLER/lib/$ABI
|
||||
cd $BINDIR
|
||||
for file in lib*.so; do mv "$file" "${file:3:${#file}-6}"; done
|
||||
cd /
|
||||
chmod -R 755 $CHROMEDIR $BINDIR
|
||||
cp -af $INSTALLER/lib/$ABI32/libmagisk32.so $BINDIR/magisk32 2>/dev/null
|
||||
cp -af $CHROMEDIR/. $BINDIR/chromeos
|
||||
chmod -R 755 $BINDIR
|
||||
|
||||
# Check if system root is installed and remove
|
||||
$BOOTMODE || remove_system_su
|
||||
|
@@ -55,16 +55,14 @@ ui_print "- Target image: $BOOTIMAGE"
|
||||
# Detect version and architecture
|
||||
api_level_arch_detect
|
||||
|
||||
ui_print "- Device platform: $ARCH"
|
||||
ui_print "- Device platform: $ABI"
|
||||
|
||||
BINDIR=$INSTALLER/lib/$ABILONG
|
||||
[ -d "$BINDIR" ] || BINDIR=$INSTALLER/lib/$ARCH32
|
||||
[ -d "$BINDIR" ] || BINDIR=$INSTALLER/lib/armeabi-v7a
|
||||
BINDIR=$INSTALLER/lib/$ABI
|
||||
cd $BINDIR
|
||||
for file in lib*.so; do mv "$file" "${file:3:${#file}-6}"; done
|
||||
cd /
|
||||
chmod -R 755 $CHROMEDIR $BINDIR
|
||||
cp -af $CHROMEDIR/. $BINDIR/chromeos
|
||||
chmod -R 755 $BINDIR
|
||||
|
||||
############
|
||||
# Uninstall
|
||||
|
@@ -519,17 +519,25 @@ remove_system_su() {
|
||||
|
||||
api_level_arch_detect() {
|
||||
API=$(grep_get_prop ro.build.version.sdk)
|
||||
ABI=$(grep_get_prop ro.product.cpu.abi | cut -c-3)
|
||||
ABI2=$(grep_get_prop ro.product.cpu.abi2 | cut -c-3)
|
||||
ABILONG=$(grep_get_prop ro.product.cpu.abi)
|
||||
|
||||
ARCH=arm
|
||||
ARCH32=arm
|
||||
IS64BIT=false
|
||||
if [ "$ABI" = "x86" ]; then ARCH=x86; ARCH32=x86; fi;
|
||||
if [ "$ABI2" = "x86" ]; then ARCH=x86; ARCH32=x86; fi;
|
||||
if [ "$ABILONG" = "arm64-v8a" ]; then ARCH=arm64; ARCH32=arm; IS64BIT=true; fi;
|
||||
if [ "$ABILONG" = "x86_64" ]; then ARCH=x64; ARCH32=x86; IS64BIT=true; fi;
|
||||
ABI=$(grep_get_prop ro.product.cpu.abi)
|
||||
if [ "$ABI" = "x86" ]; then
|
||||
ARCH=x86
|
||||
ABI32=x86
|
||||
IS64BIT=false
|
||||
elif [ "$ABI" = "arm64-v8a" ]; then
|
||||
ARCH=arm64
|
||||
ABI32=armeabi-v7a
|
||||
IS64BIT=true
|
||||
elif [ "$ABI" = "x86_64" ]; then
|
||||
ARCH=x64
|
||||
ABI32=x86
|
||||
IS64BIT=true
|
||||
else
|
||||
ARCH=arm
|
||||
ABI=armeabi-v7a
|
||||
ABI32=armeabi-v7a
|
||||
IS64BIT=false
|
||||
fi
|
||||
}
|
||||
|
||||
check_data() {
|
||||
|
Reference in New Issue
Block a user