552 Commits

Author SHA1 Message Date
topjohnwu 9d0b5298af Update to ONDK r30.0 2026-04-20 01:36:36 -07:00
topjohnwu 75f60d6e63 Update avd.sh 2026-04-19 19:27:47 -07:00
Doddddd 4a1a069ad2 Fix gradlew path resolution in env.py 2026-04-10 04:13:15 +00:00
topjohnwu fb8e5b569e Extract environment setup into its own script
This simplifies environment setup for shell operations
2026-04-08 05:29:57 +00:00
topjohnwu 5cb025e7cc Setup CI for app-ng 2026-03-17 20:04:47 -07:00
topjohnwu 07e92948c8 Add CI tests for Android 17 2026-02-22 23:26:10 -08:00
osm0sis 8495a03947 Fix A-only addon.d retaining PREINITDEVICE on 30300+
- broken after https://github.com/topjohnwu/Magisk/commit/742913ebcb10cf819a54699497359535047874f7 so use get_flags to be more futureproof
2026-01-31 13:52:44 -08:00
topjohnwu 505053f9b4 Properly support AVD with minor SDK version 2025-12-04 20:55:46 -08:00
topjohnwu 84f7d75d30 Update release.sh
Strip out all canary build logic
2025-12-01 15:27:01 -08:00
topjohnwu aac52176ed Support API level as floating point 2025-10-02 04:10:22 -07:00
LoveSy d42ec5da9a Fix pattern matching for CANARY version 2025-09-29 01:18:52 -07:00
topjohnwu 742913ebcb Support installing Magisk on vendor_boot
Close #9238, fix #8835
2025-09-28 01:10:11 -07:00
topjohnwu ea72666df8 Only specify ADB port for tests 2025-08-25 15:34:04 -07:00
topjohnwu 1333d3b986 Fix canary emulator 2025-08-18 11:25:47 -07:00
残页 335146a6a2 Update supported API levels 2025-08-17 23:58:43 -07:00
topjohnwu eaf9527971 Use AOSP ATD for API 36
[skip ci]
2025-08-15 17:25:41 -07:00
topjohnwu 959430e030 Fix systemless hosts installation 2025-08-05 09:44:51 -07:00
topjohnwu cd9851a1fe Add regression test for #9179 2025-07-18 17:58:29 -07:00
topjohnwu 4cf525c588 Add Android canary builds into CI tests 2025-07-11 00:16:39 -07:00
南宫雪珊 23ea28de6f scripts: fix modules_update dir context 2025-07-10 10:59:39 -07:00
topjohnwu 7124db98e3 Stop involving JSON in release script 2025-06-20 00:59:38 -07:00
topjohnwu 0860e859f7 Stop updating README for each release 2025-06-20 00:32:11 -07:00
topjohnwu 48d9fc24eb Update release.sh 2025-06-05 11:00:27 -07:00
topjohnwu 8b7fb6cdde Improve scripts 2025-05-15 02:56:36 -07:00
topjohnwu 5a762f0a8e Move all gradle files into folder app
Decouple java and native projects
2025-05-13 17:04:41 -07:00
topjohnwu 608786e8f3 Print verbose logs in avd_test.sh and cuttlefish.sh 2025-05-11 02:18:36 -07:00
Howard Wu ddf5474917 apt-get update before install to fix ci 2025-04-28 11:16:14 -07:00
topjohnwu c1e061603b Specify ADB_SERIAL for emulator 2025-04-13 21:43:11 -07:00
topjohnwu 8e604d2ab8 Update cuttlefish CI 2025-03-28 00:12:31 -07:00
topjohnwu e66fe8533e API 36 does not support wait_for_bootanim 2025-03-26 13:15:12 -07:00
vvb2060 b03fbb3917 avd_test: upgrade to android16 beta3 2025-03-26 13:15:12 -07:00
topjohnwu ee5283f4e8 Update release script 2025-03-07 14:14:06 -08:00
Wang Han 442d0b5ddc Delete bootctl binary if execution fails
New devices may use AIDL bootctrl HAL, so if bootctl hal-info fails,
simply remove the temp file and return.
2025-03-01 22:43:55 -08:00
topjohnwu 494615d9a0 Support ./build.py emulator with an APK argument 2025-02-28 17:17:24 -08:00
vvb2060 3ed4e258a3 avd_magisk: add general usage 2025-02-28 17:17:24 -08:00
vvb2060 dddd41c95b avd_magisk: support rootfs without sbin 2025-02-28 17:17:24 -08:00
topjohnwu 0399cde50a Cleanup logcat.log for each invocation 2025-02-18 01:04:19 -08:00
topjohnwu f5f9b285c0 Add module tests 2025-02-16 16:20:09 -08:00
topjohnwu 29043e1684 Consolidate setup methods 2025-02-16 16:20:09 -08:00
topjohnwu 15b7c4ccd1 Fix tmpfs mounts in avd_magisk.sh 2025-02-14 10:17:31 -08:00
Wang Han 5e35703091 Ensure target path exists before mknod
Co-authored-by: LoveSy <shana@zju.edu.cn>
2025-02-12 01:13:56 +08:00
Pzqqt e73ff679ac scripts: flash_script.sh: Avoid overly dangerous code 2024-12-27 16:02:24 -08:00
LoveSy d2768357da Support systemlessly deleting files or folders
After we refactor the magic mount and always mount folder as tmpfs,
we can easily support deleting files or folders now. We recognize
dummy devices with major number 0 and minor number 0 as an indicator
for removing files and folders. This indicator is borrowed from
overlayfs.
2024-12-27 15:57:54 -08:00
Wang Han 704541aef2 Use /metadata/watchdog as preinit dir if exists
Since Android 15, all domains are allowed to search /metadata so preinit
dir will be exposed. Use /metadata/watchdog when /metadata is chosen as
preinit device, and the dir is available (since Android 11).
2024-12-27 10:35:05 -08:00
topjohnwu 231a5d1853 Cleanup test code 2024-12-25 22:26:30 -08:00
topjohnwu 9e2b59060d Drive app migration tests through instrumentation
Make tests less flaky
2024-12-25 22:26:30 -08:00
topjohnwu 08ea937f7c Test su request via instrumentation 2024-12-25 22:26:30 -08:00
topjohnwu 2baedf74d1 Install and test LSPosed through test app 2024-12-25 22:26:30 -08:00
topjohnwu 32faa4ced6 Redesign test APK architecture
The test APK and the main APK share the same process and classloader,
and in the non-hidden case, the test APK's classes take precedence over
the ones in the main APK. This causes issues because the test APK and
main APK share some dependencies, but don't always use the same
version. This is especially problematic for the Kotlin stdlib and
AndroidX dependencies.

The solution here is to rely on R8's obfuscation feature and repackage
all potentially conflicting classes into a separate package in the test
APK. To ensure that the test classes are always using the same classes
as the main APK, we have to directly implement all tests inside the main
APK, making the test APK purely a "test runner with test dependencies".

As a result, the test APK can only be used when built in release mode,
because R8 no longer allow class obfuscation to be enabled when building
for debug versions.
2024-12-25 20:17:57 -08:00
topjohnwu ccdb0b5d13 Add ability to skip certain test variants 2024-12-25 20:11:21 -08:00