mirror of
https://github.com/topjohnwu/Magisk.git
synced 2025-12-12 21:41:56 +00:00
Properly support AVD with minor SDK version
This commit is contained in:
@@ -32,17 +32,17 @@ case $(uname -m) in
|
|||||||
esac
|
esac
|
||||||
|
|
||||||
cleanup() {
|
cleanup() {
|
||||||
pkill -INT -P $$
|
|
||||||
wait
|
|
||||||
trap - EXIT
|
|
||||||
rm -f magisk_*.img
|
rm -f magisk_*.img
|
||||||
"$avd" delete avd -n test
|
"$avd" delete avd -n test
|
||||||
exit 1
|
|
||||||
}
|
}
|
||||||
|
|
||||||
test_error() {
|
test_error() {
|
||||||
|
trap - EXIT
|
||||||
print_error "! An error occurred"
|
print_error "! An error occurred"
|
||||||
|
pkill -INT -P $$
|
||||||
|
wait
|
||||||
cleanup
|
cleanup
|
||||||
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
wait_for_boot() {
|
wait_for_boot() {
|
||||||
@@ -72,13 +72,14 @@ wait_emu() {
|
|||||||
|
|
||||||
dump_vars() {
|
dump_vars() {
|
||||||
local val
|
local val
|
||||||
for name in $@; do
|
for name in $@ emu_args; do
|
||||||
eval val=\$$name
|
eval val=\$$name
|
||||||
echo $name=\"$val\"\;
|
echo $name=\"$val\"\;
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
resolve_vars() {
|
resolve_vars() {
|
||||||
|
set +x
|
||||||
local arg_list="$1"
|
local arg_list="$1"
|
||||||
local ver=$2
|
local ver=$2
|
||||||
local type=$3
|
local type=$3
|
||||||
@@ -138,8 +139,14 @@ dl_emu() {
|
|||||||
|
|
||||||
setup_emu() {
|
setup_emu() {
|
||||||
local avd_pkg=$1
|
local avd_pkg=$1
|
||||||
|
local ver=$2
|
||||||
dl_emu $avd_pkg
|
dl_emu $avd_pkg
|
||||||
echo no | "$avd" create avd -f -n test -k $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() {
|
test_emu() {
|
||||||
@@ -169,16 +176,15 @@ test_emu() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
test_main() {
|
test_main() {
|
||||||
local avd_pkg ramdisk vars
|
local ver avd_pkg ramdisk
|
||||||
vars=$(resolve_vars "emu_args avd_pkg ramdisk" $1 $2)
|
eval $(resolve_vars "ver avd_pkg ramdisk" $1 $2)
|
||||||
eval $vars
|
|
||||||
|
|
||||||
# Specify an explicit port so that tests can run with other emulators running at the same time
|
# Specify an explicit port so that tests can run with other emulators running at the same time
|
||||||
local emu_port=5682
|
local emu_port=5682
|
||||||
emu_args="$emu_args -port $emu_port"
|
emu_args="$emu_args -port $emu_port"
|
||||||
export ANDROID_SERIAL="emulator-$emu_port"
|
export ANDROID_SERIAL="emulator-$emu_port"
|
||||||
|
|
||||||
setup_emu "$avd_pkg"
|
setup_emu "$avd_pkg" $ver
|
||||||
|
|
||||||
# Restart ADB daemon just in case
|
# Restart ADB daemon just in case
|
||||||
adb kill-server
|
adb kill-server
|
||||||
@@ -211,24 +217,21 @@ test_main() {
|
|||||||
test_emu release
|
test_emu release
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Cleanup
|
cleanup
|
||||||
rm -f magisk_*.img
|
|
||||||
"$avd" delete avd -n test
|
|
||||||
}
|
}
|
||||||
|
|
||||||
run_main() {
|
run_main() {
|
||||||
local avd_pkg vars
|
local ver avd_pkg
|
||||||
vars=$(resolve_vars "emu_args avd_pkg" $1 $2)
|
eval $(resolve_vars "ver avd_pkg" $1 $2)
|
||||||
eval $vars
|
setup_emu "$avd_pkg" $ver
|
||||||
setup_emu "$avd_pkg"
|
|
||||||
print_title "* Launching $avd_pkg"
|
print_title "* Launching $avd_pkg"
|
||||||
"$emu" @test $emu_args 2>/dev/null
|
"$emu" @test $emu_args 2>/dev/null
|
||||||
|
cleanup
|
||||||
}
|
}
|
||||||
|
|
||||||
dl_main() {
|
dl_main() {
|
||||||
local avd_pkg vars
|
local avd_pkg
|
||||||
vars=$(resolve_vars "avd_pkg" $1 $2)
|
eval $(resolve_vars "avd_pkg" $1 $2)
|
||||||
eval $vars
|
|
||||||
print_title "* Downloading $avd_pkg"
|
print_title "* Downloading $avd_pkg"
|
||||||
dl_emu "$avd_pkg"
|
dl_emu "$avd_pkg"
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user