mirror of
https://github.com/topjohnwu/Magisk.git
synced 2026-04-28 12:03:09 -07:00
Update avd.sh
This commit is contained in:
@@ -4,10 +4,9 @@ set -e
|
||||
shopt -s extglob
|
||||
. scripts/test_common.sh
|
||||
|
||||
emu_args_base="-no-window -no-audio -no-boot-anim -gpu swiftshader_indirect -read-only -no-snapshot -cores $core_count"
|
||||
emu_args_base="-no-window -no-audio -no-boot-anim -gpu software -read-only -no-snapshot -cores $core_count"
|
||||
log_args="-show-kernel -logcat '' -logcat-output logcat.log"
|
||||
emu_args=
|
||||
emu_pid=
|
||||
|
||||
atd_min_api=30
|
||||
atd_max_api=36
|
||||
@@ -33,7 +32,7 @@ esac
|
||||
|
||||
cleanup() {
|
||||
rm -f magisk-*.img
|
||||
"$avd" delete avd -n test
|
||||
"$avd" delete avd -n test > /dev/null 2>&1
|
||||
}
|
||||
|
||||
test_error() {
|
||||
@@ -59,17 +58,6 @@ wait_for_boot() {
|
||||
done
|
||||
}
|
||||
|
||||
wait_emu() {
|
||||
local which_pid
|
||||
|
||||
timeout $boot_timeout bash -c wait_for_boot &
|
||||
local wait_pid=$!
|
||||
|
||||
# Handle the case when emulator dies earlier than timeout
|
||||
wait -p which_pid -n $emu_pid $wait_pid
|
||||
[ $which_pid -eq $wait_pid ]
|
||||
}
|
||||
|
||||
dump_vars() {
|
||||
local val
|
||||
for name in $@; do
|
||||
@@ -167,7 +155,12 @@ parse_args() {
|
||||
dl_emu() {
|
||||
local avd_pkg=$1
|
||||
yes | "$sdk" --licenses > /dev/null 2>&1
|
||||
"$sdk" --channel=3 platform-tools emulator $avd_pkg
|
||||
"$sdk" --channel=3 'cmdline-tools;latest' platform-tools emulator "$avd_pkg"
|
||||
# It's possible cmdline-tools updated
|
||||
if [ -e "${cli_tools}-2" ]; then
|
||||
rm -rf "$cli_tools"
|
||||
mv "${cli_tools}-2" "$cli_tools"
|
||||
fi
|
||||
}
|
||||
|
||||
setup_emu() {
|
||||
@@ -175,11 +168,6 @@ setup_emu() {
|
||||
local ver=$2
|
||||
dl_emu $avd_pkg
|
||||
echo no | "$avd" create avd -f -n test -k $avd_pkg
|
||||
|
||||
# avdmanager is outdated, it might not set the proper target
|
||||
local ini=$ANDROID_AVD_HOME/test.ini
|
||||
sed "s:^target\s*=.*:target=android-$ver:g" $ini > $ini.new
|
||||
mv $ini.new $ini
|
||||
}
|
||||
|
||||
test_emu() {
|
||||
@@ -194,19 +182,17 @@ test_emu() {
|
||||
else
|
||||
"$emu" @test $emu_args $magisk_args > /dev/null 2>&1 &
|
||||
fi
|
||||
|
||||
emu_pid=$!
|
||||
wait_emu
|
||||
timeout $boot_timeout bash -c wait_for_boot
|
||||
|
||||
run_setup $apk
|
||||
|
||||
adb reboot
|
||||
wait_emu
|
||||
timeout $boot_timeout bash -c wait_for_boot
|
||||
|
||||
run_tests
|
||||
|
||||
kill -INT $emu_pid
|
||||
wait $emu_pid
|
||||
adb emu kill
|
||||
wait
|
||||
}
|
||||
|
||||
test_main() {
|
||||
@@ -232,8 +218,7 @@ test_main() {
|
||||
# Launch stock emulator
|
||||
print_title "* Launching $avd_pkg"
|
||||
"$emu" @test $emu_args > /dev/null 2>&1 &
|
||||
emu_pid=$!
|
||||
wait_emu
|
||||
timeout $boot_timeout bash -c wait_for_boot
|
||||
|
||||
# Patch images
|
||||
local images=()
|
||||
@@ -242,8 +227,8 @@ test_main() {
|
||||
./build.py -v avd_patch --apk "$apk" "$ramdisk" "${images[-1]}"
|
||||
done
|
||||
|
||||
kill -INT $emu_pid
|
||||
wait $emu_pid
|
||||
adb emu kill
|
||||
wait
|
||||
|
||||
for i in "${!apks[@]}"; do
|
||||
print_title "* Testing $avd_pkg ($(basename ${apks[i]}))"
|
||||
@@ -260,7 +245,8 @@ run_main() {
|
||||
|
||||
setup_emu "$avd_pkg" $ver
|
||||
print_title "* Launching $avd_pkg"
|
||||
"$emu" @test $emu_args 2>/dev/null
|
||||
"$emu" @test $emu_args > /dev/null 2>&1 &
|
||||
wait_for_boot
|
||||
cleanup
|
||||
}
|
||||
|
||||
|
||||
@@ -9,8 +9,9 @@ export ANDROID_AVD_HOME="$ANDROID_EMULATOR_HOME/avd"
|
||||
export PATH="$PATH:$ANDROID_HOME/platform-tools"
|
||||
|
||||
emu="$ANDROID_HOME/emulator/emulator"
|
||||
sdk="$ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager"
|
||||
avd="$ANDROID_HOME/cmdline-tools/latest/bin/avdmanager"
|
||||
cli_tools="$ANDROID_HOME/cmdline-tools/latest"
|
||||
sdk="$cli_tools/bin/sdkmanager"
|
||||
avd="$cli_tools/bin/avdmanager"
|
||||
|
||||
boot_timeout=100
|
||||
|
||||
@@ -42,12 +43,6 @@ am_instrument() {
|
||||
fi
|
||||
}
|
||||
|
||||
# $1 = pkg
|
||||
wait_for_pm() {
|
||||
sleep 5
|
||||
adb shell pm uninstall $1 || true
|
||||
}
|
||||
|
||||
run_setup() {
|
||||
local apk=$1
|
||||
adb shell 'PATH=$PATH:/debug_ramdisk magisk -v'
|
||||
|
||||
Reference in New Issue
Block a user