Files
root-avd/rootAVD.bat
T
2021-01-19 13:47:30 +01:00

114 lines
3.4 KiB
Batchfile

@echo off
SetLocal EnableDelayedExpansion
REM ##########################################################################################
REM #
REM # Magisk Boot Image Patcher - original created by topjohnwu and modded by shakalaca's
REM # modded by NewBit XDA for Android Studio AVD
REM # Successfully tested on Android API:
REM # [Dec. 2019] - 29 Google Apis Play Store x86_64 Production Build
REM # [Jan. 2021] - 30 Google Apis Play Store x86_64 Production Build
REM #
REM ##########################################################################################
if "%1" == "" (
echo "rootAVD needs a path with file to an AVD ramdisk"
echo "rootAVD will backup your ramdisk.img and replace it when finished"
echo "rootAVD.bat %LOCALAPPDATA%\Android\Sdk\system-images\android-30\google_apis_playstore\x86_64\ramdisk.img"
exit /B 0
)
set RAMDISKFILE=%1
set BACKUPFILE=%RAMDISKFILE%.bak
set ROOTAVD="%cd%"
set MAGISKZIP=%ROOTAVD%\Magisk.zip
set BUSYBOXINSTLR=%ROOTAVD%\update-binary
CD %RAMDISKFILE%
IF "%ERRORLEVEL%"=="0" (
echo "[*] Please give a PATH to a file, not just a Directory"
exit /B 0
)
IF NOT EXIST %RAMDISKFILE% (
echo "[*] %RAMDISKFILE% doesn't exist"
exit /B 0
)
IF NOT EXIST %BACKUPFILE% (
echo "[*] create Backup File"
copy %RAMDISKFILE% %BACKUPFILE%
) ELSE (
echo "[-] Backup exists already"
)
echo "[-] In any AVD via ADB, you can execute code without root in /data/data/com.android.shell"
set ADBWORKDIR=/data/data/com.android.shell
set ADBBASEDIR=%ADBWORKDIR%/Magisk
set ADBWORKS=
adb shell -n echo true > tmpFile
set /P ADBWORKS=<tmpFile
del tmpFile
IF "%ADBWORKS%" == "true" (
echo "[-] ADB connectoin possible"
) ELSE (
echo "[*] no ADB connectoin possible"
exit /B 0
)
echo "[*] looking for Magisk installer Zip"
IF NOT EXIST %MAGISKZIP% (
echo "[-] Please download Magisk.zip file"
exit /B 0
)
echo "[*] Cleaning up the ADB working space"
adb shell rm -rf %ADBBASEDIR%
echo "[*] Creating the ADB working space"
adb shell mkdir %ADBBASEDIR%
echo "[-] Copy Magisk installer Zip"
adb push %MAGISKZIP% %ADBBASEDIR%
echo "[*] Copy Busybox installer"
adb push %BUSYBOXINSTLR% %ADBBASEDIR%
echo "[*] Copy the original AVD ramdisk.img into Magisk DIR"
adb push %RAMDISKFILE% %ADBBASEDIR%
echo "[-] Copy rootAVD Script into Magisk DIR"
adb push rootAVD.sh %ADBBASEDIR%
echo "[-] Convert Script to Unix Ending"
adb -e shell "dos2unix %ADBBASEDIR%/rootAVD.sh"
echo "[-] run the actually Boot/Ramdisk/Kernel Image Patch Script"
echo "[*] from Magisk by topjohnwu and modded by NewBit XDA"
adb shell sh %ADBBASEDIR%/rootAVD.sh "ranchu"
echo "[-] After the ramdisk.img file is patched and back gz'ed,"
echo "[*] pull it back in the Magisk DIR"
adb pull %ADBBASEDIR%/ramdiskpatched4AVD.img
echo "[-] Clean up the ADB working space"
adb shell rm -rf %ADBBASEDIR%
echo "[*] Move and rename the patched ramdisk.img to the original AVD DIR"
copy ramdiskpatched4AVD.img %RAMDISKFILE%
del ramdiskpatched4AVD.img
call :installapps
echo "[-] reboot the AVD and see if it worked"
echo "[-] Root and Su with Magisk for Android Studio AVDs"
echo "[-] Modded by NewBit XDA - Jan. 2021"
echo "[*] Huge Credits and big Thanks to topjohnwu and shakalaca"
EXIT /B %ERRORLEVEL%
:INSTALLAPPS
ECHO "[-] Install all APKs placed in the Apps folder"
FOR %%i IN (APPS\*.apk) DO (
echo "[*] Trying to install %%i"
adb install -r %%i
)
EXIT /B 0