mirror of
https://github.com/topjohnwu/Magisk.git
synced 2025-02-24 23:17:26 +00:00
Update all hardcode paths in app and script
This commit is contained in:
parent
47d18bb896
commit
93aedcfeb7
@ -6,7 +6,8 @@ import java.io.File
|
|||||||
object Const {
|
object Const {
|
||||||
|
|
||||||
// Paths
|
// Paths
|
||||||
const val MAGISK_PATH = "/sbin/.magisk/modules"
|
lateinit var MAGISKTMP: String
|
||||||
|
val MAGISK_PATH get() = "$MAGISKTMP/modules"
|
||||||
var MAGISK_DISABLE_FILE = File("xxx")
|
var MAGISK_DISABLE_FILE = File("xxx")
|
||||||
const val TMP_FOLDER_PATH = "/dev/tmp"
|
const val TMP_FOLDER_PATH = "/dev/tmp"
|
||||||
const val MAGISK_LOG = "/cache/magisk.log"
|
const val MAGISK_LOG = "/cache/magisk.log"
|
||||||
@ -25,8 +26,8 @@ object Const {
|
|||||||
object Version {
|
object Version {
|
||||||
const val MIN_VERSION = "v19.0"
|
const val MIN_VERSION = "v19.0"
|
||||||
const val MIN_VERCODE = 19000
|
const val MIN_VERCODE = 19000
|
||||||
const val CONNECT_MODE = 20100
|
const val PROVIDER_CONNECT = 20200
|
||||||
const val PROVIDER_CONNECT = 20102
|
const val DYNAMIC_PATH = 20400
|
||||||
}
|
}
|
||||||
|
|
||||||
object ID {
|
object ID {
|
||||||
|
@ -62,7 +62,7 @@ class Module(path: String) : BaseModule() {
|
|||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
|
||||||
private const val PERSIST = "/sbin/.magisk/mirror/persist/magisk"
|
private val PERSIST get() = "${Const.MAGISKTMP}/mirror/persist/magisk"
|
||||||
|
|
||||||
@WorkerThread
|
@WorkerThread
|
||||||
fun loadModules(): List<Module> {
|
fun loadModules(): List<Module> {
|
||||||
|
@ -18,22 +18,20 @@ class RootInit : Shell.Initializer() {
|
|||||||
|
|
||||||
fun init(context: Context, shell: Shell): Boolean {
|
fun init(context: Context, shell: Shell): Boolean {
|
||||||
val job = shell.newJob()
|
val job = shell.newJob()
|
||||||
|
if (Info.env.magiskVersionCode >= Const.Version.DYNAMIC_PATH)
|
||||||
|
job.add("MAGISKTMP=$(magisk --path)/.magisk")
|
||||||
|
else
|
||||||
|
job.add("MAGISKTMP=/sbin/.magisk")
|
||||||
job.add(context.rawResource(R.raw.manager))
|
job.add(context.rawResource(R.raw.manager))
|
||||||
if (shell.isRoot) {
|
if (shell.isRoot) {
|
||||||
job.add(context.rawResource(R.raw.util_functions))
|
job.add(context.rawResource(R.raw.util_functions))
|
||||||
.add("SHA1=`grep_prop SHA1 /sbin/.magisk/config`")
|
|
||||||
Const.MAGISK_DISABLE_FILE = SuFile("/cache/.disable_magisk")
|
Const.MAGISK_DISABLE_FILE = SuFile("/cache/.disable_magisk")
|
||||||
}
|
}
|
||||||
|
job.add("mm_init").exec()
|
||||||
job.add(
|
|
||||||
"export BOOTMODE=true",
|
|
||||||
"mount_partitions",
|
|
||||||
"get_flags",
|
|
||||||
"run_migrations"
|
|
||||||
).exec()
|
|
||||||
|
|
||||||
fun getvar(name: String) = ShellUtils.fastCmd(shell, "echo \$$name").toBoolean()
|
fun getvar(name: String) = ShellUtils.fastCmd(shell, "echo \$$name").toBoolean()
|
||||||
|
|
||||||
|
Const.MAGISKTMP = ShellUtils.fastCmd(shell, "echo \$MAGISKTMP")
|
||||||
Info.keepVerity = getvar("KEEPVERITY")
|
Info.keepVerity = getvar("KEEPVERITY")
|
||||||
Info.keepEnc = getvar("KEEPFORCEENCRYPT")
|
Info.keepEnc = getvar("KEEPFORCEENCRYPT")
|
||||||
Info.isSAR = getvar("SYSTEM_ROOT")
|
Info.isSAR = getvar("SYSTEM_ROOT")
|
||||||
|
@ -11,12 +11,9 @@ env_check() {
|
|||||||
|
|
||||||
fix_env() {
|
fix_env() {
|
||||||
cd $MAGISKBIN
|
cd $MAGISKBIN
|
||||||
PATH=/sbin:/system/bin sh update-binary -x
|
PATH=/system/bin /system/bin/sh update-binary -x
|
||||||
./busybox rm -f $MAGISKTMP/busybox/*
|
./busybox rm -f update-binary magisk.apk
|
||||||
cp -af busybox $MAGISKTMP/busybox/busybox
|
./busybox chmod -R 755 .
|
||||||
$MAGISKTMP/busybox/busybox --install -s $MAGISKTMP/busybox
|
|
||||||
rm -f update-binary magisk.apk
|
|
||||||
chmod -R 755 .
|
|
||||||
./magiskinit -x magisk magisk
|
./magiskinit -x magisk magisk
|
||||||
cd /
|
cd /
|
||||||
}
|
}
|
||||||
@ -95,8 +92,8 @@ EOF
|
|||||||
|
|
||||||
add_hosts_module() {
|
add_hosts_module() {
|
||||||
# Do not touch existing hosts module
|
# Do not touch existing hosts module
|
||||||
[ -d /sbin/.magisk/modules/hosts ] && return
|
[ -d $MAGISKTMP/modules/hosts ] && return
|
||||||
cd /sbin/.magisk/modules
|
cd $MAGISKTMP/modules
|
||||||
mkdir -p hosts/system/etc
|
mkdir -p hosts/system/etc
|
||||||
cat << EOF > hosts/module.prop
|
cat << EOF > hosts/module.prop
|
||||||
id=hosts
|
id=hosts
|
||||||
@ -106,8 +103,7 @@ versionCode=1
|
|||||||
author=Magisk Manager
|
author=Magisk Manager
|
||||||
description=Magisk Manager built-in systemless hosts module
|
description=Magisk Manager built-in systemless hosts module
|
||||||
EOF
|
EOF
|
||||||
cp -f /system/etc/hosts hosts/system/etc/hosts
|
magisk --clone /system/etc/hosts hosts/system/etc/hosts
|
||||||
magisk --clone-attr /system/etc/hosts hosts/system/etc/hosts
|
|
||||||
touch hosts/update
|
touch hosts/update
|
||||||
cd /
|
cd /
|
||||||
}
|
}
|
||||||
@ -159,3 +155,17 @@ get_flags() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
run_migrations() { return; }
|
run_migrations() { return; }
|
||||||
|
|
||||||
|
grep_prop() { return; }
|
||||||
|
|
||||||
|
#############
|
||||||
|
# Initialize
|
||||||
|
#############
|
||||||
|
|
||||||
|
mm_init() {
|
||||||
|
export BOOTMODE=true
|
||||||
|
mount_partitions
|
||||||
|
get_flags
|
||||||
|
run_migrations
|
||||||
|
SHA1=$(grep_prop SHA1 $MAGISKTMP/config)
|
||||||
|
}
|
||||||
|
@ -34,8 +34,10 @@ grep_prop() {
|
|||||||
|
|
||||||
getvar() {
|
getvar() {
|
||||||
local VARNAME=$1
|
local VARNAME=$1
|
||||||
local VALUE=
|
local VALUE
|
||||||
VALUE=`grep_prop $VARNAME /sbin/.magisk/config /data/.magisk /cache/.magisk`
|
local PROPPATH='/data/.magisk /cache/.magisk'
|
||||||
|
[ -n $MAGISKTMP ] && PROPPATH="$MAGISKTMP/config $PROPPATH"
|
||||||
|
VALUE=$(grep_prop $VARNAME $PROPPATH)
|
||||||
[ ! -z $VALUE ] && eval $VARNAME=\$VALUE
|
[ ! -z $VALUE ] && eval $VARNAME=\$VALUE
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -628,7 +630,8 @@ is_legacy_script() {
|
|||||||
|
|
||||||
# Require OUTFD, ZIPFILE to be set
|
# Require OUTFD, ZIPFILE to be set
|
||||||
install_module() {
|
install_module() {
|
||||||
local PERSISTDIR=/sbin/.magisk/mirror/persist
|
local PERSISTDIR
|
||||||
|
command -v magisk >/dev/null && PERSISTDIR=$(magisk --path)/mirror/persist
|
||||||
|
|
||||||
rm -rf $TMPDIR
|
rm -rf $TMPDIR
|
||||||
mkdir -p $TMPDIR
|
mkdir -p $TMPDIR
|
||||||
@ -705,7 +708,7 @@ install_module() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Copy over custom sepolicy rules
|
# Copy over custom sepolicy rules
|
||||||
if [ -f $MODPATH/sepolicy.rule -a -e $PERSISTDIR ]; then
|
if [ -f $MODPATH/sepolicy.rule -a -e "$PERSISTDIR" ]; then
|
||||||
ui_print "- Installing custom sepolicy patch"
|
ui_print "- Installing custom sepolicy patch"
|
||||||
PERSISTMOD=$PERSISTDIR/magisk/$MODID
|
PERSISTMOD=$PERSISTDIR/magisk/$MODID
|
||||||
mkdir -p $PERSISTMOD
|
mkdir -p $PERSISTMOD
|
||||||
@ -733,7 +736,6 @@ install_module() {
|
|||||||
[ -z $BOOTMODE ] && ps -A 2>/dev/null | grep zygote | grep -qv grep && BOOTMODE=true
|
[ -z $BOOTMODE ] && ps -A 2>/dev/null | grep zygote | grep -qv grep && BOOTMODE=true
|
||||||
[ -z $BOOTMODE ] && BOOTMODE=false
|
[ -z $BOOTMODE ] && BOOTMODE=false
|
||||||
|
|
||||||
MAGISKTMP=/sbin/.magisk
|
|
||||||
NVBASE=/data/adb
|
NVBASE=/data/adb
|
||||||
TMPDIR=/dev/tmp
|
TMPDIR=/dev/tmp
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user