Last active
March 16, 2022 07:06
-
-
Save pagkly/06b8f5e6397db6a391cbf16ac1cb5456 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# This is bash script version for Waydroid 11 + Magisk + Gapps | |
# dependencies: 7z, unzip, lzip | |
# VARS | |
WD_ARCH="x64" | |
WD_DIR="" | |
TEMP_DIR=~/testingwsa | |
MAGISK_VER=24101 | |
GAPPS_VER="pico" | |
# FUNCTIONS | |
function rm_waydroid(){ | |
# Uninstall WayDroid | |
waydroid session stop | |
sudo waydroid container stop | |
sudo systemctl stop waydroid-container.service | |
sudo umount -l /var/lib/waydroid/{data,rootfs} | |
sudo umount /usr/share/waydroid-extra/images/{system,vendor}.img | |
sudo rm -rf /var/lib/waydroid/ ~/.local/share/{waydroid,applications/*aydroid*} | |
sudo rm -rf /var/lib/waydroid /home/.waydroid ~/waydroid ~/.share/waydroid ~/.local/share/applications/*aydroid* ~/.local/share/waydroid | |
sudo rm -rf /usr/share/waydroid-extra/images/* | |
ls /usr/share/waydroid-extra/images | |
cd ~/testingwsa | |
#yay -Rns waydroid-image-dev | |
#yay -Rns waydroid | |
#yay -S waydroid-image-dev | |
} | |
function dl_wsa(){ | |
sleep 3 | |
cd $temp_dir | |
rm -rf x64 | |
python dl_wsa.py | |
rm -rf {magisk.zip,magisk,magiskpolicy} | |
#cp magisk_${magisk_ver}.apk magisk_${magisk_ver}.zip | |
mkdir magisk | |
cp -rf kokoro/magisk/* magisk/ | |
cp -rf kokoro/magiskpolicy magiskpolicy | |
#cp bootctl jar | |
##cp magisk_${magisk_ver}.apk magisk.zip | |
##python dl_magisk.py | |
} | |
function dl_gapps(){ | |
sleep 1 | |
sudo rm -rf /home/user/.cache/waydroid_script | |
#sudo python dl_gapps.py | |
#rm -rf {gapps.zip,gapps} | |
python dl_ogaps.py | |
} | |
function unzip_gapps(){ | |
echo "Extract GApps and expand images" | |
sleep 1 | |
mkdir gapps | |
unzip -p gapps.zip {Core,GApps}/'*.lz' | tar --lzip -C gapps -xvf - -i --strip-components=2 --exclude='setupwizardtablet-x86_64' --exclude='packageinstallergoogle-all' --exclude='speech-common' --exclude='markup-lib-arm' --exclude='markup-lib-arm64' --exclude='markup-all' --exclude='setupwizarddefault-x86_64' --exclude='pixellauncher-all' --exclude='pixellauncher-common' | |
} | |
function rep_img(){ | |
rm -rf $WD_ARCH/{system,vendor}.img | |
ls $WD_ARCH/{system,vendor}.img | |
#cp /run/media/user/SED2/{system,vendor}.img x64/ | |
#wget -q https://sourceforge.net/projects/blissos-dev/files/waydroid/lineage/lineage-18.1/Lineage-OS-18.1-waydroid_x86_64-202111291420-foss-sd-hd-ex_ax86-vaapi_gles-aep.zip/download -O los.zip | |
7z x los.zip -o$WD_ARCH/ | |
ls $WD_ARCH/{system,vendor}.img | |
# cp /usr/share/waydroid-extra/images/system.img $WD_ARCH/system.img | |
# cp /usr/share/waydroid-extra/images/vendor.img $WD_ARCH/vendor.img | |
# Waydroid image Dev location from AUR | |
#cp /home/user/.cache/yay/waydroid-image-dev/system.img $WD_ARCH/system.img | |
#cp /home/user/.cache/yay/waydroid-image-dev/vendor.img $WD_ARCH/vendor.img | |
#rm -rf $WD_ARCH/system.img | |
#rm -rf $WD_ARCH/vendor.img | |
#cp /var/lib/waydroid/images/system.img $WD_ARCH/system.img | |
#cp /var/lib/waydroid/images/vendor.img $WD_ARCH/vendor.img | |
} | |
function resmount_img(){ | |
sleep 1 | |
ls $WD_ARCH/{system,vendor}.img | |
cd $temp_dir | |
e2fsck -yf $WD_ARCH/system.img | |
resize2fs $WD_ARCH/system.img $(( $(du -sB512 gapps | cut -f1) + $(du -sB512 $WD_ARCH/system.img | cut -f1) ))s | |
e2fsck -yf $WD_ARCH/product.img | |
resize2fs $WD_ARCH/product.img 1024M | |
e2fsck -yf $WD_ARCH/system_ext.img | |
resize2fs $WD_ARCH/system_ext.img 108M | |
echo "Expand vendor" | |
e2fsck -yf $WD_ARCH/vendor.img | |
resize2fs $WD_ARCH/vendor.img 512M | |
echo "Mount Images" | |
sudo mkdir system | |
sudo mkdir userdata | |
sudo mount -o loop $WD_ARCH/system.img system | |
sudo mount -o loop $WD_ARCH/vendor.img system/vendor | |
#sudo rm -rf system/product | |
#sudo ln -sf ~/testingwsa/system/system/product system/product | |
sudo mv system/product system/product_ln | |
sudo mkdir system/product | |
sudo mount --bind ~/testingwsa/system/system/product ~/testingwsa/system/product | |
ls system/product | |
#sudo rm -rf system/system_ext | |
#sudo ln -sf ~/testingwsa/system/system/system_ext system/system_ext | |
sudo mv system/system_ext system/system_ext_ln | |
sudo mkdir system/system_ext | |
sudo mount --bind ~/testingwsa/system/system/system_ext ~/testingwsa/system/system_ext | |
ls system/system_ext | |
#sudo mount -o loop $WD_ARCH/product.img system/product | |
#sudo mount -o loop $WD_ARCH/system_ext.img system/system_ext | |
qemu-img convert -O raw $WD_ARCH/userdata.vhdx userdata.img | |
sudo mount -o loop userdata.img userdata | |
} | |
function rm_foss(){ | |
sleep 1 | |
cd $temp_dir | |
echo "Remove LOS FOSS Apps" | |
sudo rm -rf system/system/app/com.google.android.gsf | |
sudo rm -rf system/system/app/com.aurora.adroid | |
sudo rm -rf system/system/app/com.aurora.store | |
sudo rm -rf system/system/app/com.etesync.syncadapter | |
sudo rm -rf system/system/app/is.xyz.mpv | |
sudo rm -rf system/system/app/me.jfenn.alarmio | |
sudo rm -rf system/system/app/org.microg.gms.droidguard | |
sudo rm -rf system/system/app/org.microg.nlp.backend.ichnaea | |
sudo rm -rf system/system/app/org.microg.nlp.backend.nominatim | |
sudo rm -rf system/system/app/org.schabi.newpipe | |
sudo rm -rf system/system/app/ws.xsoh.etar | |
sudo rm -rf system/system/priv-app/AuroraServices_v1.1.1 | |
sudo rm -rf system/system/priv-app/com.google.android.gms | |
sudo rm -rf system/system/priv-app/com.android.vending | |
sudo rm -rf system/system/product/app/Etar | |
sudo rm -rf system/system/product/priv-app/Contacts | |
sudo rm -rf system/system/product/app/ExactCalculator | |
sudo rm -rf system/system/product/priv-app/Eleven | |
sudo rm -rf system/system/app/com.simplemobiletools.gallery.pro | |
sudo rm -rf system/system/app/NotePad | |
sudo rm -rf system/system/app/org.bromite.bromite | |
sudo rm -rf system/system/app/com.google.android.webview | |
sudo rm -rf system/system/app/com.android.webview | |
echo "Move built-in superuser/koush" | |
sudo mv system/system/xbin/su system/system/xbin/suold | |
sudo cp magisk/magisk64 system/system/xbin/su | |
sudo ls system/system/xbin | |
#echo "Pixel Boot Animation" | |
#sudo cp /run/media/user/SED2/AY/CustomROM/3ab/bootanimation.zip system/system/media/bootanimation.zip | |
#adb push /run/media/user/SED2/AY/CustomROM/3ab/bootanimation.zip /sdcard/bootanimation.zip | |
#cp /sdcard/bootanimation.zip /system/product/media/bootanimation.zip | |
#cp /sdcard/bootanimation.zip /system/product/media/bootanimation-dark.zip | |
#sudo rm -rf system/system/product/bootanimation.zip | |
} | |
function enable_adb() { | |
# enable adb debugging: | |
#echo "mtp,adb" | sudo tee -a system/data/property/persist.sys.usb.config | |
echo "persist.service.adb.enable=1 | |
persist.service.debuggable=1 | |
persist.sys.usb.config=mtp,adb" | sudo tee -a system/system/build.prop | |
} | |
function install_magisk(){ | |
sleep 1 | |
echo "Integrate Magisk" | |
sudo mkdir system/system/etc/magisk | |
sudo chcon --reference system/init.environ.rc system/system/etc/magisk | |
sudo chown root:root system/system/etc/magisk | |
sudo chmod 0700 system/system/etc/magisk | |
sudo cp magisk/* system/system/etc/magisk | |
sudo mkdir -p userdata/adb/magisk | |
sudo chmod -R 700 userdata/adb | |
sudo cp magisk/* userdata/adb/magisk/ | |
sudo find userdata/adb/magisk -type f -exec chmod 0755 {} \; | |
sudo cp magisk.zip userdata/adb/magisk/magisk.apk | |
sudo tee system/system/etc/magisk/loadpolicy.sh <<EOF | |
#!/system/bin/sh | |
restorecon -R /data/adb/magisk | |
for module in \$(ls /data/adb/modules); do | |
if ! [ -f "/data/adb/modules/\$module/disable" ] && [ -f "/data/adb/modules/\$module/sepolicy.rule" ]; then | |
/dev/magisk/magiskpolicy --live --apply "/data/adb/modules/\$module/sepolicy.rule" | |
fi | |
done | |
EOF | |
sudo find system/system/etc/magisk -type f -exec chmod 0755 {} \; | |
sudo find system/system/etc/magisk -type f -exec chown root:root {} \; | |
sudo find system/system/etc/magisk -type f -exec chcon --reference system/system/product {} \; | |
chmod +x ./magiskpolicy | |
echo '/dev/magisk(/.*)? u:object_r:magisk_file:s0' | sudo tee -a system/vendor/etc/selinux/vendor_file_contexts | |
echo '/data/adb/magisk(/.*)? u:object_r:magisk_file:s0' | sudo tee -a system/vendor/etc/selinux/vendor_file_contexts | |
#sudo ./magiskpolicy --load system/vendor/etc/selinux/precompiled_sepolicy --save system/vendor/etc/selinux/precompiled_sepolicy --magisk "allow * magisk_file lnk_file *" | |
#/dev/magisk/magiskpolicy --live --load /vendor/etc/selinux/precompiled_sepolicy --save /vendor/etc/selinux/precompiled_sepolicy --magisk "allow * magisk_file lnk_file *" | |
sudo tee -a system/system/etc/init/hw/init.rc <<EOF | |
on post-fs-data | |
start logd | |
start adbd | |
mkdir /dev/magisk | |
mkdir /dev/block | |
mount tmpfs tmpfs /dev/magisk mode=0755 | |
copy /system/etc/magisk/magisk64 /dev/magisk/magisk64 | |
chmod 0755 /dev/magisk/magisk64 | |
symlink /dev/magisk/magisk64 /dev/magisk/magisk | |
symlink /dev/magisk/magisk64 /dev/magisk/su | |
symlink /dev/magisk/magisk64 /dev/magisk/resetprop | |
copy /system/etc/magisk/magisk32 /dev/magisk/magisk32 | |
chmod 0755 /dev/magisk/magisk32 | |
copy /system/etc/magisk/magiskinit /dev/magisk/magiskinit | |
chmod 0755 /dev/magisk/magiskinit | |
symlink /dev/magisk/magiskinit /dev/magisk/magiskpolicy | |
mkdir /dev/magisk/.magisk 700 | |
mkdir /dev/magisk/.magisk/mirror 700 | |
mkdir /dev/magisk/.magisk/block 700 | |
rm /dev/.magisk_unblock | |
start IhhslLhHYfse | |
start FAhW7H9G5sf | |
umount /dev/magisk/.magisk/mirror/data | |
rm /dev/magisk/.magisk/mirror/data | |
symlink /data /dev/magisk/.magisk/mirror/data | |
symlink /dev/magisk/.magisk/mirror/data/adb/modules /dev/magisk/.magisk/mirror/sepolicy.rules | |
#mount none /dev/magisk/.magisk/zygisk/app_process32 /system/bin/app_process32 bind rec | |
#mount none /dev/magisk/.magisk/zygisk/app_process64 /system/bin/app_process64 bind rec | |
wait /dev/.magisk_unblock 40 | |
rm /dev/.magisk_unblock | |
mount devpts devpts /dev/pts noexec nosuid gid=5 mode=620 | |
#mount devpts devpts /dev/magisk/.magisk/pts noexec nosuid gid=5 mode=620 | |
symlink /dev/pts /dev/magisk/.magisk/pts | |
#start HLiFsR1HtIXVN6 | |
mknod /dev/tty c 5 0 | |
chmod 0666 /dev/tty | |
service IhhslLhHYfse /system/bin/sh /system/etc/magisk/loadpolicy.sh | |
user root | |
seclabel u:r:magisk:s0 | |
oneshot | |
service FAhW7H9G5sf /dev/magisk/magisk --post-fs-data | |
user root | |
seclabel u:r:magisk:s0 | |
oneshot | |
service HLiFsR1HtIXVN6 /dev/magisk/magisk --service | |
class late_start | |
user root | |
seclabel u:r:magisk:s0 | |
oneshot | |
on property:sys.boot_completed=1 | |
start YqCTLTppv3ML | |
service YqCTLTppv3ML /dev/magisk/magisk --boot-complete | |
user root | |
seclabel u:r:magisk:s0 | |
oneshot | |
EOF | |
# ORIGINAL WSA ENDS | |
# DEBUG | |
#sudo nano system/system/etc/init/hw/init.zygote32.rc | |
#sudo nano system/system/etc/init/hw/init.zygote64_32.rc | |
#service zygote /system/bin/strace -f -tt -o /cache/debug/boot.strace /system/bin/app_process -Xzygote /system/bin --zygote --start-system-server | |
echo '/system/bin/strace u:object_r:zygote_socket:s0' | sudo tee -a system/vendor/etc/selinux/vendor_file_contexts | |
} | |
function strace_zygote() { | |
# bootloop in Xiaomi Redmi Note 7 (lavender) | |
# Strace Zygote & App Process | |
sudo sed -i -E "s|service zygote /system/bin/app_process -Xzygote /system/bin --zygote --start-system-server|service zygote /system/bin/strace -o /cache/zygote_ap.strace /system/bin/app_process -Xzygote /system/bin --zygote --start-system-server|g" system/system/etc/init/hw/init.zygote32.rc | |
#critical window=${zygote.critical_window.minute:-off} target=zygote-fatal | |
sudo sed -i -E "s|service zygote /system/bin/app_process64 -Xzygote /system/bin --zygote --start-system-server --socket-name=zygote|service zygote /system/bin/strace -o /cache/zygote_ap64.strace /system/bin/app_process64 -Xzygote /system/bin --zygote --start-system-server --socket-name=zygote|g" system/system/etc/init/hw/init.zygote64_32.rc | |
#critical window=${zygote.critical_window.minute:-off} target=zygote-fatal | |
sudo sed -i -E "s|service zygote_secondary /system/bin/app_process32 -Xzygote /system/bin --zygote --socket-name=zygote_secondary --enable-lazy-preload|service zygote_secondary /system/bin/strace -o /cache/zygote_ap32.strace /system/bin/app_process32 -Xzygote /system/bin --zygote --socket-name=zygote_secondary --enable-lazy-preload|g" system/system/etc/init/hw/init.zygote64_32.rc | |
#system/sepolicy/private/file_contexts | |
#system/vendor/etc/selinux/precompiled_sepolicy | |
} | |
function install_gapps() { | |
# echo "Add extra packages" | |
#GITHUB_SERVER_URL="https://github.com" | |
#GITHUB_REPOSITORY="pagkly/MagiskOnWSA" | |
#GITHUB_REF="refs/heads/feature-branch-1" | |
#GITHUB_SERVER_URL/$GITHUB_REPOSITORY/archive/$GITHUB_REF.tar.gz | |
#wget -qO- "$GITHUB_SERVER_URL/$GITHUB_REPOSITORY/archive/$GITHUB_REF.tar.gz" | sudo tar --wildcards -zxvf- --strip-component=2 '*/$WD_ARCH/system/*' | |
#### CONTINUE | |
sudo cp ~/Documents/precompiled_sepolicy system/vendor/etc/selinux/precompiled_sepolicy | |
sudo find system/system/priv-app -type d -exec chmod 0755 {} \; | |
sudo find system/system/priv-app -type f -exec chmod 0644 {} \; | |
sudo find system/system/priv-app -exec chcon --reference=system/system/priv-app {} \; | |
# echo "Integrate GApps" | |
#wget -qO- "$GITHUB_SERVER_URL/$GITHUB_REPOSITORY/archive/$GITHUB_REF.tar.gz" | sudo tar --wildcards -zxvf- --strip-component=2 '*/$WD_ARCH/gapps/*' | |
#sudo tar --wildcards -zxvf- --strip-component=2 '*/$WD_ARCH/gapps/*' | |
shopt -s extglob | |
sudo cp -vrf gapps/!(product) system/system | |
# Fix | |
#change system/product to system/system/product because in LOS its that directory | |
sudo cp -vrf gapps/product/* system/system/product/ | |
sudo find system/system/{app,etc,framework,priv-app} -exec chown root:root {} \; | |
sudo find system/system/product/{app,etc,overlay,priv-app} -exec chown root:root {} \; | |
sudo find system/system/{app,etc,framework,priv-app} -type d -exec chmod 0755 {} \; | |
sudo find system/system/product/{app,etc,overlay,priv-app} -type d -exec chmod 0755 {} \; | |
sudo find system/system/{app,framework,priv-app} -type f -exec chmod 0644 {} \; | |
ls gapps/etc/ | xargs -n 1 -I dir sudo find system/system/etc/dir -type f -exec chmod 0644 {} \; | |
sudo find system/system/product/{app,etc,overlay,priv-app} -type f -exec chmod 0644 {} \; | |
sudo find system/system/{app,framework,priv-app} -type d -exec chcon --reference=system/system/app {} \; | |
sudo find system/system/product/{app,etc,overlay,priv-app} -type d -exec chcon --reference=system/system/product/app {} \; | |
ls gapps/etc/ | xargs -n 1 -I dir sudo find system/system/etc/dir -type d -exec chcon --reference=system/system/etc/permissions {} \; | |
sudo find system/system/{app,framework,priv-app} -type f -exec chcon --reference=system/system/framework/ext.jar {} \; | |
ls gapps/etc/ | xargs -n 1 -I dir sudo find system/system/etc/dir -type f -exec chcon --reference=system/system/etc/permissions {} \; | |
sudo find system/system/product/{app,etc,overlay,priv-app} -type f -exec chcon --reference=system/system/product/etc/permissions/privapp-permissions-venezia.xml {} \; | |
#kokoro | |
#sudo chmod +x kokoro/magiskpolicy | |
#sudo kokoro/magiskpolicy --load system/vendor/etc/selinux/precompiled_sepolicy --save system/vendor/etc/selinux/precompiled_sepolicy "allow gmscore_app gmscore_app vsock_socket { create connect write read }" "allow gmscore_app device_config_runtime_native_boot_prop file read" "allow gmscore_app system_server_tmpfs dir search" "allow gmscore_app system_server_tmpfs file open" | |
#WSA | |
#chmod +x ./magiskpolicy | |
#sudo ./magiskpolicy --load system/vendor/etc/selinux/precompiled_sepolicy --save system/vendor/etc/selinux/precompiled_sepolicy "allow gmscore_app gmscore_app vsock_socket { create connect write read }" "allow gmscore_app device_config_runtime_native_boot_prop file read" "allow gmscore_app system_server_tmpfs dir search" "allow gmscore_app system_server_tmpfs file open" | |
} | |
function unmount_img() { | |
# uncomment to inject the rest of Magisk files | |
#sudo cp magisk_all/assets/bootctl system/system/etc/magisk/ | |
#sudo cp magisk_all/assets/main.jar system/system/etc/magisk/ | |
#cp magisk_all/assets/module_installer.sh system/system/etc/magisk/ | |
#sudo cp magisk_all/assets/uninstaller.sh system/system/etc/magisk/ | |
#sudo ls system/system/etc/magisk/ | |
echo "Fixing .prop files" | |
sudo python fixprop.py | |
echo "Unmount vendor" | |
sudo umount system/vendor | |
echo "Unmount product" | |
sudo umount -l system/product | |
sudo rm -rf system/product | |
sudo mv system/product_ln system/product | |
echo "Unmount system_ext" | |
sudo umount -l system/system_ext | |
sudo rm -rf system/system_ext | |
sudo mv system/system_ext_ln system/system_ext | |
echo "Unmount system" | |
#sudo umount system/product | |
#sudo umount system/system_ext | |
sudo umount system | |
sudo umount userdata | |
#qemu-img convert -o subformat=dynamic -f raw -O vhdx userdata.img $WD_ARCH/userdata.vhdx | |
echo "Shrink images" | |
arch="x64" | |
e2fsck -yf $WD_ARCH/system.img | |
resize2fs -M $WD_ARCH/system.img | |
e2fsck -yf $WD_ARCH/vendor.img | |
resize2fs -M $WD_ARCH/vendor.img | |
e2fsck -yf $WD_ARCH/product.img | |
resize2fs -M $WD_ARCH/product.img | |
e2fsck -yf $WD_ARCH/system_ext.img | |
resize2fs -M $WD_ARCH/system_ext.img | |
} | |
function init_img(){ | |
# Try | |
sudo rm -rf /usr/share/waydroid-extra/images/system.img | |
sudo rm -rf /usr/share/waydroid-extra/images/vendor.img | |
sudo cp x64/system.img /usr/share/waydroid-extra/images/system.img | |
sudo cp x64/vendor.img /usr/share/waydroid-extra/images/vendor.img | |
ls /usr/share/waydroid-extra/images | |
#sudo rm -rf /var/lib/waydroid/images/system.img | |
#sudo rm -rf /var/lib/waydroid/images/vendor.img | |
#cd ~/testingwsa | |
#sudo cp x64/system.img /var/lib/waydroid/images/system.img | |
#sudo cp x64/vendor.img /var/lib/waydroid/images/vendor.img | |
""" | |
waydroid session stop | |
sudo waydroid container stop | |
sudo systemctl stop waydroid-container.service | |
sudo umount -l /var/lib/waydroid/{data,rootfs} | |
sudo umount /usr/share/waydroid-extra/images/{system,vendor}.img | |
sudo rm -rf /var/lib/waydroid/ ~/.local/share/{waydroid,applications/*aydroid*} | |
sudo rm -rf /var/lib/waydroid /home/.waydroid ~/waydroid ~/.share/waydroid ~/.local/share/applications/*aydroid* ~/.local/share/waydroid | |
sudo rm -rf /usr/share/waydroid-extra/images/* | |
ls /usr/share/waydroid-extra/images | |
cd ~/testingwsa | |
""" | |
#sudo cp -rf ~/Downloads/WSA-with-magisk-GApps-pico_1.8.32837.0_x64_Release-Nightly/* /usr/share/waydroid-extra/images/ | |
sudo waydroid init -f | |
#sudo python dl_gapps.py | |
#lxc-attach -P /var/lib/waydroid/lxc/ -n waydroid --clear-env | |
#echo "security.privileged = true" | sudo tee -a /var/lib/waydroid/lxc/waydroid/config | |
sed -i -E "s/cgroup:ro/cgroup:rw/g" /var/lib/waydroid/lxc/waydroid/config | |
echo "lxc.mount.entry = /sys/fs/selinux sys/fs/selinux none bind,optional,create=dir,ro" | tee -a /var/lib/waydroid/lxc/waydroid/config_nodes | |
echo "lxc.mount.entry = /sys/fs/selinux/context sys/fs/selinux/context none bind,optional,rw" | tee -a /var/lib/waydroid/lxc/waydroid/config_nodes | |
#lxc.mount.entry = devpts /dev/pts devpts defaults,mode=644,ptmxmode=666 0 0 | |
""" | |
# gbinder for A11 | |
sudo ls /usr/share/waydroid-extra/images | |
sudo sed -i 's/aidl2/aidl3/' /etc/gbinder.d/anbox.conf | |
sudo sed -i '/ApiLevel/s/29/30/' /etc/gbinder.conf | |
echo "[General]" | sudo tee -a /etc/gbinder.d/anbox.conf | |
echo "ApiLevel = 30" | sudo tee -a /etc/gbinder.d/anbox.conf | |
sudo cat /etc/gbinder.d/anbox.conf | |
""" | |
waydroid session stop && sudo systemctl restart waydroid-container.service | |
#sudo waydroid container restart | |
} | |
function setup_adb() { | |
waydroid session start | |
## INIT BOOT | |
#echo "mount -t devpts -o defaults,mode=644,ptmxmode=666 devpts /dev/pts" | sudo waydroid shell | |
echo "settings put global adb_enabled 1 | |
pm set-home-activity com.android.launcher3/com.android.launcher3.uioverrides.QuickstepLauncher -user --user 0 | |
mknod -m 666 /dev/tty c 5 0" | sudo waydroid shell | |
#adb shell pm set-home-activity com.android.launcher3/com.android.launcher3.uioverrides.QuickstepLauncher -user --user 0 | |
adb connect 192.168.250.112:5555 | |
adb install ~/Downloads/MiXplorer_v6.56.0.apk | |
adb install ~/Downloads/com.termux*.apk | |
adb install ~/Downloads/com.aurora.adroid_8.apk | |
adb install ~/Downloads/x64_ChromePublic.apk | |
adb install ~/Downloads/eu.chainfire.liveboot.apk | |
adb install ~/Downloads/RootBeer*.apk | |
adb install ~/Downloads/LSPosed*.apk | |
adb install magisk_${magisk_ver}.apk | |
#waydroid app install magisk_24001.apk | |
#waydroid app install magisk_24102.apk | |
#waydroid app install magisk_24103.apk | |
#waydroid app install magisk_24201.apk | |
#waydroid app install magisk_24202.apk | |
#sqlite3 /data/adb/magisk.db | |
adb shell su -c mknod -m 666 /dev/tty c 5 0 | |
magisk --sqlite "INSERT INTO settings (key,value) VALUES('zygisk', '1');" | |
magisk --sqlite "INSERT INTO settings (key,value) VALUES('denylist', '1');" | |
magisk --sqlite "INSERT INTO settings (key,value) VALUES('su_biometric', '0');" | |
#magisk --sqlite "UPDATE settings SET value= '1' WHERE key= 'zygisk'" | |
#magisk --sqlite "UPDATE settings SET value= '1' WHERE key= 'denylist'" | |
#magisk --sqlite "DELETE FROM policies WHERE package_name='com.android.shell';" | |
magisk --sqlite "INSERT INTO policies (uid, package_name, policy, until, logging, notification) VALUES('2000', 'com.android.shell', '2', '0', '1', '1');" | |
#magisk --sqlite "SELECT * FROM policies;" | |
#VALUES \('10156', 'com.mixplorer.silver', '2', '0', '1', '1'\); | |
#uid|package_name|policy|until|logging|notification | |
#2000|com.android.shell|2|0|1|1 | |
#10158|com.termux|2|0|1|1 | |
#10159|eu.chainfire.liveboot|2|0|1|1 | |
adb shell settings put global development_settings_enabled 1 | |
adb shell settings put global window_animation_scale 0 | |
adb shell settings put global transition_animation_scale 0 | |
adb shell settings put global animator_duration_scale 0 | |
adb shell su -c pm grant com.aurora.adroid android.permission.WRITE_EXTERNAL_STORAGE | |
adb shell su -c pm disable com.android.inputmethod.latin | |
adb shell su -c settings put global adb_enabled 1 | |
adb shell su -c magisk --denylist add com.amazon.venezia com.amazon.venezia | |
adb shell su -c magisk --denylist add com.android.vending com.android.vending | |
adb shell su -c magisk --denylist add com.android.vending com.android.vending:background | |
adb shell su -c magisk --denylist add com.android.vending com.android.vending:instant_app_installer | |
adb shell su -c magisk --denylist add com.android.vending com.android.vending:quick_launch | |
adb shell su -c magisk --denylist add com.android.vending com.android.vending:recovery_mode | |
adb shell su -c magisk --denylist add com.google.android.gms com.google.android.gms | |
adb shell su -c magisk --denylist add com.google.android.gms com.google.android.gms.feedback | |
adb shell su -c magisk --denylist add com.google.android.gms com.google.android.gms.learning | |
adb shell su -c magisk --denylist add com.google.android.gms com.google.android.gms.persistent | |
adb shell su -c magisk --denylist add com.google.android.gms com.google.android.gms.remapping1 | |
adb shell su -c magisk --denylist add com.google.android.gms com.google.android.gms.room | |
adb shell su -c magisk --denylist add com.google.android.gms com.google.android.gms.ui | |
adb shell su -c magisk --denylist add com.google.android.gms com.google.android.gms.unstable | |
adb shell su -c magisk --denylist add com.google.android.gms com.google.android.gms:car | |
adb shell su -c magisk --denylist add com.google.android.gms com.google.android.gms:snet | |
adb shell su -c magisk --denylist add com.google.android.gsf com.google.process.gapps | |
adb shell su -c magisk --denylist add com.google.android.gsf com.google.process.gservices | |
adb shell su -c magisk --denylist add com.scottyab.rootbeer.sample com.scottyab.rootbeer.sample | |
# Magisk reboot | |
# debugging | |
# logboot enable | |
adb push ~/Downloads/Shamiko*.zip /sdcard/ | |
adb push ~/Downloads/BusyboxNDK-1.34.1.zip /sdcard/ | |
adb push ~/Downloads/Detach.5.3.zip /sdcard/ | |
adb push ~/Downloads/riru-v26.1.4.r524.125daf3f89-release.zip /sdcard/ | |
adb push ~/Downloads/LSPosed-v1.7.2-6379-riru-release.zip /sdcard/ | |
adb push ~/Downloads/Riru-MomoHider.zip /sdcard/ | |
#adb push ~/Downloads/Disable_Dm-Verity_ForceEncrypt_11.02.2020.zip /sdcard/ | |
#adb push ~/Downloads/MagiskHidePropsConf*.zip /sdcard/ | |
adb shell su -c monkey -p com.topjohnwu.magisk 1 | |
waydroid session stop && sudo systemctl restart waydroid-container.service | |
waydroid session stop && sudo systemctl restart waydroid-container.service | |
} | |
function rebuild_waydroid(){ | |
rm_waydroid | |
dl_wsa | |
dl_gapps | |
unzip_gapps | |
rep_img | |
resmount_img | |
rm_foss | |
install_magisk | |
install_gapps | |
unmount_img | |
init_img | |
} | |
function after_install() { | |
echo "settings put global adb_enabled 1" | sudo waydroid shell | |
adb connect 192.168.250.112:5555 | |
adb shell su -c mknod -m 666 /dev/tty c 5 0 | |
# allow | |
#adb shell su -c magisk --install-module /sdcard/Shamiko*.zip | |
adb shell su -c magisk --install-module /sdcard/BusyboxNDK-1.34.1.zip | |
adb shell su -c magisk --install-module /sdcard/Detach.5.3.zip | |
adb shell su -c sed -i -E 's/#YouTube/YouTube/g' /sdcard/Detach.txt | |
adb shell su -c "echo 'com.topjohnwu.magisk' | tee -a /sdcard/Detach.txt" | |
adb shell su -c cat /sdcard/Detach.txt | |
adb shell su -c magisk --install-module /sdcard/Detach.5.3.zip | |
# Extra Modules | |
#echo "magisk --install-module /sdcard/Disable_Dm-Verity_ForceEncrypt_11.02.2020.zip" | sudo waydroid shell | |
#echo "magisk --install-module /sdcard/MagiskHidePropsConf*.zip" | sudo waydroid shell | |
adb shell su -c magisk --install-module /sdcard/riru-v26.1.4.r524.125daf3f89-release.zip | |
adb shell su -c magisk --install-module /sdcard/LSPosed-v1.7.2-6379-riru-release.zip | |
#adb shell su -c magisk --install-module /sdcard/Riru-MomoHider.zip | |
waydroid session stop && sudo systemctl restart waydroid-container.service | |
waydroid session stop && sudo systemctl restart waydroid-container.service | |
} | |
function add_additional_magisk_manually() { | |
# reboot | |
echo "cp /cache/{liveboot,magisk}.log /sdcard/" | sudo waydroid shell | |
echo "cp /cache/zygote_ap.strace /sdcard/" | sudo waydroid shell | |
echo "cp /system/etc/init/hw/init.rc /sdcard/" | sudo waydroid shell | |
adb pull /sdcard/liveboot.log ~/Downloads/liveboot.log | |
adb pull /sdcard/magisk.log ~/Downloads/magisk.log | |
adb pull /sdcard/zygote.strace ~/Downloads/zygote.txt | |
adb pull /sdcard/init.rc ~/Downloads/init.rc | |
echo "cp /cache/zygote_ap64.strace /sdcard/" | sudo waydroid shell | |
echo "cp /cache/zygote_ap32.strace /sdcard/" | sudo waydroid shell | |
adb pull /sdcard/zygote_ap64.strace ~/Downloads/zygote_ap64.txt | |
adb pull /sdcard/zygote_ap32.strace ~/Downloads/zygote_ap32.txt | |
# https://askubuntu.com/questions/45679/ssh-connection-problem-with-host-key-verification-failed-error | |
echo "export ANDROID_DATA=/data | |
export ANDROID_ROOT=/system | |
start /dev/magisk/.magisk/zygisk/app_process64" | sudo waydroid shell | |
#resetprop ro.build.fingerprint google/redfin/redfin:11/RD2A.211001.002/eng.latteu.20220104.220627:user/release-keys | |
# Add Magisk Files manually | |
adb connect 192.168.250.112:5555 | |
adb push magisk_all/assets/bootctl /sdcard/ | |
adb push magisk_all/assets/main.jar /sdcard/ | |
#adb push magisk_all/assets/module_installer.sh /sdcard/ | |
adb push magisk_all/assets/uninstaller.sh /sdcard/ | |
echo "cp /sdcard/bootctl /dev/magisk/ | |
cp /sdcard/main.jar /dev/magisk/ | |
cp /sdcard/uninstaller.sh /dev/magisk/ | |
ls /dev/magisk" | sudo waydroid shell | |
#cp -rf /system/etc/magisk /data/adb | |
#mkdir /data/adb/{modules,post-fs-data.d,service.d} | |
#ls /data/adb | |
""" | |
# https://stackoverflow.com/questions/55030788/adb-remount-fails-mount-system-not-in-proc-mounts | |
#mount -o rw,remount / | |
#mv /system/xbin/su /system/xbin/suold | |
#mount -o ro,remount / | |
#mount -t devpts -o defaults,mode=644,ptmxmode=666 devpts /dev/pts | |
mount -o rw,remount / | |
sed -i -E 's;(chmod 0550.*pstore);\1\r\n chmod 0755 /sys/fs/cgroup/cgroup.procs;g' /system/etc/init/hw/init.rc | |
mount -o ro,remount / | |
#chmod 755 /sys/fs/cgroup/cgroup.procs | |
touch /dev/magisk/.magisk/config | |
mkdir /dev/block | |
mkdir -p /dev/magisk/.magisk/mirror/data/adb/modules | |
mkdir -p /sys/fs/selinux | |
touch /sys/fs/selinux/context | |
""" | |
} | |
: ' | |
# MagiskOnEmu method (not working) | |
pkg install git | |
git clone https://github.com/HuskyDG/MagiskOnEmu.git | |
sh ~/magiskonemu/run.sh | |
sh /data/data/com.termux/files/home/MagiskOnEmu/run.sh | |
# Google SafetyNet | |
pkg install sqlite | |
su -c '/data/data/com.termux/files/usr/bin/sqlite3 /data/data/com.google.android.gsf/databases/gservices.db \ | |
"select * from main where name = \"android_id\";"' | |
android_id|4342138757243233702 | |
3714563756416041669:XRN7A | |
3716924108982017034 | |
3878074511571278764 | |
3976644448267554368:waydroid | |
4158029620737332971 | |
4314187120014293265 | |
4364634936404741669 | |
4483701675885235399 | |
4342138757243233702:W11VM | |
' | |
function kokoro_magisk_method() { | |
# mount devpts devpts /dev/pts noexec nosuid gid=5 mode=620 | |
# KOKORO | |
sudo mkdir system/system/etc/magisk | |
sudo chcon --reference system/init.environ.rc system/system/etc/magisk | |
sudo chown root:root system/system/etc/magisk | |
sudo chmod 0700 system/system/etc/magisk | |
sudo cp kokoro/magisk/* system/system/etc/magisk | |
sudo ls system/system/etc/magisk | |
sudo mkdir -p userdata/adb/magisk | |
sudo chmod -R 700 userdata/adb | |
sudo cp magisk/* userdata/adb/magisk/ | |
sudo find userdata/adb/magisk -type f -exec chmod 0755 {} \; | |
sudo cp magisk_stable.apk userdata/adb/magisk/magisk.apk | |
sudo ls userdata/adb/magisk | |
sudo find system/system/etc/magisk -type f -exec chmod 0755 {} \; | |
sudo find system/system/etc/magisk -type f -exec chown root:root {} \; | |
sudo find system/system/etc/magisk -type f -exec chcon --reference system/system/product {} \; | |
# KOKORO | |
echo '/dev/magisk(/.*)? u:object_r:magisk_file:s0' | sudo tee -a system/vendor/etc/selinux/vendor_file_contexts | |
echo '/data/adb/magisk(/.*)? u:object_r:magisk_file:s0' | sudo tee -a system/vendor/etc/selinux/vendor_file_contexts | |
sudo chmod +x kokoro/magiskpolicy | |
sudo kokoro/magiskpolicy --load system/vendor/etc/selinux/precompiled_sepolicy --save system/vendor/etc/selinux/precompiled_sepolicy --magisk "allow * magisk_file lnk_file *" | |
#sudo tee -a system/system/etc/init/hw/init.rc <<EOF | |
sudo tee -a system/system/etc/init/hw/init.kokoro.rc <<EOF | |
on post-fs-data | |
start logd | |
start adbd | |
mkdir /dev/magisk | |
#mount tmpfs tmpfs /dev/magisk mode=0755 | |
copy /system/etc/magisk/magisk64 /dev/magisk/magisk64 | |
chmod 0755 /dev/magisk/magisk64 | |
symlink /dev/magisk/magisk64 /dev/magisk/magisk | |
symlink /dev/magisk/magisk64 /dev/magisk/su | |
symlink /dev/magisk/magisk64 /dev/magisk/resetprop | |
copy /system/etc/magisk/magisk32 /dev/magisk/magisk32 | |
chmod 0755 /dev/magisk/magisk32 | |
copy /system/etc/magisk/magiskinit /dev/magisk/magiskinit | |
chmod 0755 /dev/magisk/magiskinit | |
symlink /dev/magisk/magiskinit /dev/magisk/magiskpolicy | |
mkdir /dev/magisk/.magisk 700 | |
mkdir /dev/magisk/.magisk/mirror 700 | |
mkdir /dev/magisk/.magisk/block 700 | |
rm /dev/.magisk_unblock | |
start IhhslLhHYfse | |
start FAhW7H9G5sf | |
umount /dev/magisk/.magisk/mirror/data | |
rm /dev/magisk/.magisk/mirror/data | |
symlink /data /dev/magisk/.magisk/mirror/data | |
wait /dev/.magisk_unblock 40 | |
rm /dev/.magisk_unblock | |
service IhhslLhHYfse /system/bin/sh /system/etc/magisk/loadpolicy.sh | |
user root | |
seclabel u:r:magisk:s0 | |
oneshot | |
service FAhW7H9G5sf /dev/magisk/magisk --post-fs-data | |
user root | |
seclabel u:r:magisk:s0 | |
oneshot | |
service HLiFsR1HtIXVN6 /dev/magisk/magisk --service | |
class late_start | |
user root | |
seclabel u:r:magisk:s0 | |
oneshot | |
on property:sys.boot_completed=1 | |
start YqCTLTppv3ML | |
service YqCTLTppv3ML /dev/magisk/magisk --boot-complete | |
user root | |
seclabel u:r:magisk:s0 | |
oneshot | |
EOF | |
sudo chown root:root system/system/etc/init/hw/init.kokoro.rc | |
sudo chmod 0644 system/system/etc/init/hw/init.kokoro.rc | |
sudo nano system/system/etc/init/hw/init.rc | |
import /system/etc/init/hw/init.kokoro.rc | |
sudo ls system/system/etc/init/hw | |
sudo cat system/system/etc/init/hw/init.rc | grep kokoro | |
# KOKORO FINISHED | |
} | |
function magiskonwsa_method() { | |
# WSA START | |
#sudo mkdir system/sbin | |
#sudo chcon --reference system/init.environ.rc system/sbin | |
#sudo chown root:root system/sbin | |
#sudo chmod 0700 system/sbin | |
#sudo cp magisk/* system/sbin/ | |
sudo mkdir system/system/etc/magisk | |
sudo chcon --reference system/init.environ.rc system/system/etc/magisk | |
sudo chown root:root system/system/etc/magisk | |
sudo chmod 0700 system/system/etc/magisk | |
sudo cp magisk/* system/system/etc/magisk | |
sudo ls system/system/etc/magisk | |
# WSA ONLY | |
sudo mkdir -p userdata/adb/magisk | |
sudo chmod -R 700 userdata/adb | |
sudo cp magisk/* userdata/adb/magisk/ | |
sudo find userdata/adb/magisk -type f -exec chmod 0755 {} \; | |
sudo cp magisk.zip userdata/adb/magisk/magisk.apk | |
sudo ls userdata/adb/magisk | |
#sudo cp kokoro/magisk/loadpolicy.sh system/system/etc/magisk/loadpolicy.sh | |
#sbin | |
sudo tee -a system/system/etc/magisk/loadpolicy.sh <<EOF | |
#!/system/bin/sh | |
restorecon -R /data/adb/magisk | |
for module in \$(ls /data/adb/modules); do | |
if ! [ -f "/data/adb/modules/\$module/disable" ] && [ -f "/data/adb/modules/\$module/sepolicy.rule" ]; then | |
/dev/magisk/magiskpolicy --live --apply "/data/adb/modules/\$module/sepolicy.rule" | |
fi | |
done | |
EOF | |
# WSA ONLY | |
sudo find system/system/etc/magisk -type f -exec chmod 0755 {} \; | |
sudo find system/system/etc/magisk -type f -exec chown root:root {} \; | |
sudo find system/system/etc/magisk -type f -exec chcon --reference system/system/product {} \; | |
echo '/dev/magisk(/.*)? u:object_r:magisk_file:s0' | sudo tee -a system/vendor/etc/selinux/vendor_file_contexts | |
echo '/data/adb/magisk(/.*)? u:object_r:magisk_file:s0' | sudo tee -a system/vendor/etc/selinux/vendor_file_contexts | |
sudo chmod +x ./magiskpolicy | |
sudo ./magiskpolicy --load system/vendor/etc/selinux/precompiled_sepolicy --save system/vendor/etc/selinux/precompiled_sepolicy --magisk "allow * magisk_file lnk_file *" | |
# https://android.stackexchange.com/questions/161462/bionic-open-tzdata-path-android-data-not-set | |
sudo tee -a system/system/etc/init/hw/init.rc <<EOF | |
on post-fs-data | |
start logd | |
start adbd | |
mkdir /dev/magisk | |
mount tmpfs tmpfs /dev/magisk mode=0755 | |
copy /system/etc/magisk/magisk64 /dev/magisk/magisk64 | |
chmod 0755 /dev/magisk/magisk64 | |
symlink /dev/magisk/magisk64 /dev/magisk/magisk | |
symlink /dev/magisk/magisk64 /dev/magisk/su | |
symlink /dev/magisk/magisk64 /dev/magisk/resetprop | |
copy /system/etc/magisk/magisk32 /dev/magisk/magisk32 | |
chmod 0755 /dev/magisk/magisk32 | |
copy /system/etc/magisk/magiskinit /dev/magisk/magiskinit | |
chmod 0755 /dev/magisk/magiskinit | |
symlink /dev/magisk/magiskinit /dev/magisk/magiskpolicy | |
mkdir /dev/magisk/.magisk 700 | |
mkdir /dev/magisk/.magisk/mirror 700 | |
mkdir /dev/magisk/.magisk/block 700 | |
rm /dev/.magisk_unblock | |
start IhhslLhHYfse | |
start FAhW7H9G5sf | |
wait /dev/.magisk_unblock 40 | |
rm /dev/.magisk_unblock | |
service IhhslLhHYfse /system/bin/sh /system/etc/magisk/loadpolicy.sh | |
user root | |
seclabel u:r:magisk:s0 | |
oneshot | |
service FAhW7H9G5sf /dev/magisk/magisk --post-fs-data | |
user root | |
seclabel u:r:magisk:s0 | |
oneshot | |
service HLiFsR1HtIXVN6 /dev/magisk/magisk --service | |
class late_start | |
user root | |
seclabel u:r:magisk:s0 | |
oneshot | |
on property:sys.boot_completed=1 | |
start YqCTLTppv3ML | |
service YqCTLTppv3ML /dev/magisk/magisk --boot-complete | |
user root | |
seclabel u:r:magisk:s0 | |
oneshot | |
EOF | |
# WSA FINISHED | |
} | |
function waydroid_github_issue_method() { | |
#### SKIPPPP | |
sudo tee -a system/system/etc/init/hw/init.rc <<EOF | |
on post-fs-data | |
mkdir /dev/magisk | |
mount tmpfs tmpfs /dev/magisk mode=0755 | |
copy /data/adb/magisk/magisk64 /dev/magisk/magisk64 | |
chmod 0755 /dev/magisk/magisk64 | |
symlink ./magisk64 /dev/magisk/magisk | |
symlink ./magisk64 /dev/magisk/su | |
symlink ./magisk64 /dev/magisk/resetprop | |
copy /data/adb/magisk/magisk32 /dev/magisk/magisk32 | |
chmod 0755 /dev/magisk/magisk32 | |
copy /data/adb/magisk/magiskinit /dev/magisk/magiskinit | |
chmod 0755 /dev/magisk/magiskinit | |
symlink ./magiskinit /dev/magisk/magiskpolicy | |
mkdir /dev/magisk/.magisk 700 | |
mkdir /dev/magisk/.magisk/mirror 700 | |
mkdir /dev/magisk/.magisk/mirror/data 700 | |
mkdir /dev/magisk/.magisk/block 700 | |
mount none /data /dev/magisk/.magisk/mirror/data bind rec | |
start FAhW7H9G5sf | |
service FAhW7H9G5sf /dev/magisk/magisk --post-fs-data | |
user root | |
oneshot | |
service HLiFsR1HtIXVN6 /dev/magisk/magisk --service | |
class late_start | |
user root | |
oneshot | |
on property:sys.boot_completed=1 | |
start YqCTLTppv3ML | |
service YqCTLTppv3ML /dev/magisk/magisk --boot-complete | |
user root | |
EOF | |
} | |
""" | |
#- name: Merge Language Resources | |
cp $WD_ARCH/resources.pri pri/en-us.pri | |
cp $WD_ARCH/AppxManifest.xml xml/en-us.xml | |
tee priconfig.xml <<EOF | |
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> | |
<resources targetOsVersion="10.0.0" majorVersion="1"> | |
<index root="\" startIndexAt="\"> | |
<indexer-config type="folder" foldernameAsQualifier="true" filenameAsQualifier="true" qualifierDelimiter="."/> | |
<indexer-config type="PRI"/> | |
</index> | |
</resources> | |
EOF | |
wine64 ~/makepri.exe new /pr pri /in MicrosoftCorporationII.WindowsSubsystemForAndroid /cf priconfig.xml /of $WD_ARCH/resources.pri /o | |
sed -i -zE "s/<Resources.*Resources>/<Resources>\n$(cat xml/* | grep -Po '<Resource [^>]*/>' | sed ':a;N;$!ba;s/\n/\\n/g' | sed 's/\$/\\$/g' | sed 's/\//\\\//g')\n<\/Resources>/g" $WD_ARCH/AppxManifest.xml | |
""" | |
### SKIP FINISHED | |
""" | |
on init | |
sysclktz 0 | |
export PATH /data/bin:/system/sbin:/system/bin:/system/xbin:/odm/bin:/vendor/bin:/vendor/xbin | |
export ANDROID_DATA /data | |
export ANDROID_ROOT /system | |
mkdir /dev/block 755 | |
chmod 0660 /sys/power/wake_unlock | |
mkdir /dev/block 755 | |
mknod /dev/tty c 5 0 | |
chmod 0666 /dev/tty | |
rm -rf ~/Desktop/init.rc | |
cp system/system/etc/init/hw/init.rc ~/Desktop/init.rc | |
sudo sed -i -E 's|(export DOWNLOAD_CACHE.*cache)|\1\ | |
export ANDROID_DATA /data\ | |
export ANDROID_ROOT /system\ | |
mkdir /dev/block 755|g' ~/Desktop/init.rc | |
#sudo sed -i -E 's;(chmod 0550.*pstore);\1\r\n chmod 0755 /sys/fs/cgroup/cgroup.procs;g' system/system/etc/init/hw/init.rc | |
sudo sed -i -E 's|(export DOWNLOAD_CACHE.*cache)|\1\ | |
export ANDROID_DATA /data\ | |
export ANDROID_ROOT /system\ | |
mkdir /dev/block 755|g' system/system/etc/init/hw/init.rc | |
cat system/system/etc/init/hw/init.rc | grep export | |
#sudo mkdir system/dev/block | |
#sudo touch system/dev/magisk/.magisk/config | |
#sudo mkdir -p system/dev/magisk/.magisk/mirror/data/adb/modules | |
#sudo mkdir -p system/sys/fs/selinux | |
#sudo touch system/sys/fs/selinux/context | |
sudo sed -i -E 's|(export DOWNLOAD_CACHE.*cache)|\1\ | |
export ANDROID_DATA /data\ | |
export ANDROID_ROOT /system\ | |
mkdir /dev/block 755|g' system/system/etc/init/hw/init.rc | |
""" | |
echo '/system/bin/strace u:object_r:zygote_socket:s0' | sudo tee -a /vendor/etc/selinux/vendor_file_contexts | |
sudo sed -i -E "s|service zygote /system/bin/app_process -Xzygote /system/bin --zygote --start-system-server|service zygote /system/bin/strace -o /cache/zygote_ap.strace /system/bin/app_process -Xzygote /system/bin --zygote --start-system-server|g" /system/etc/init/hw/init.zygote32.rc | |
sudo sed -i -E "s|service zygote /system/bin/app_process64 -Xzygote /system/bin --zygote --start-system-server --socket-name=zygote|service zygote /system/bin/strace -o /cache/zygote_ap64.strace /system/bin/app_process64 -Xzygote /system/bin --zygote --start-system-server --socket-name=zygote|g" /system/etc/init/hw/init.zygote64_32.rc | |
sudo sed -i -E "s|service zygote_secondary /system/bin/app_process32 -Xzygote /system/bin --zygote --socket-name=zygote_secondary --enable-lazy-preload|service zygote_secondary /system/bin/strace -o /cache/zygote_ap32.strace /system/bin/app_process32 -Xzygote /system/bin --zygote --socket-name=zygote_secondary --enable-lazy-preload|g" /system/etc/init/hw/init.zygote64_32.rc | |
function others() { | |
waydroid init -r bliss - s GAPPS | |
# Test Waydroid | |
#sudo cp -rf /run/media/user/SED2/system.img /usr/share/waydroid-extra/images/system.img | |
#sudo cp -rf /run/media/user/SED2/vendor.img /usr/share/waydroid-extra/images/vendor.img | |
sudo waydroid init -f | |
sudo systemctl start waydroid-container.service | |
#sudo waydroid container restart | |
waydroid session start | |
# Install Gapps | |
waydroid session stop | |
cd ~/waydroid_script | |
sudo python3 waydroid_extras.py -g | |
#sudo waydroid init -f | |
sudo systemctl restart waydroid-container.service | |
#sudo waydroid container restart | |
waydroid session start | |
sudo python3 waydroid_extras.py -i | |
#rm -rf /var/lib/waydroid/images/system.img | |
#rm -rf /var/lib/waydroid/images/vendor.img | |
#sudo cp /run/media/user/SED2/system18.img /usr/share/waydroid-extra/images/system.img | |
#sudo cp /run/media/user/SED2/vendor18.img /usr/share/waydroid-extra/images/vendor.img | |
ls /usr/share/waydroid-extra/images | |
} | |
#parsec | |
#cd /tmp | |
#wget https://builds.parsecgaming.com/package/parsec-linux.deb | |
#sudo dpkg -i /tmp/parsec-linux.deb | |
""" | |
cd ~ | |
sudo apt install openjdk-8-jdk | |
wget https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip | |
unzip sdk-tools-linux-4333796.zip | |
mv tools android-sdk-tools | |
cd android-sdk-tools | |
sdkmanager "system-images;android-28;google_apis_playstore;x86_64" "build-tools;28.0.3" "platforms;android-28" --sdk_root="$ANDROID_SDK_ROOT" | |
sdkmanager "platform-tools" --sdk_root="$ANDROID_SDK_ROOT" | |
sdkmanager --licenses | |
touch ~/.android/repositories.cfg | |
cd ~/.android/platform-tools | |
adb --version | |
adb kill-server | |
adb devices | |
""" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment