topjohnwu
427a1ca4e5
Release new canary build
...
[skip ci]
2025-04-29 11:54:17 -07:00
topjohnwu
22884e173a
Implement reboot in Rust
2025-04-28 17:22:14 -07:00
topjohnwu
d1829308e9
Move more daemon_start code into Rust
2025-04-28 17:22:14 -07:00
topjohnwu
73840f8721
Migrate selinux.cpp to selinux.rs
2025-04-28 17:22:14 -07:00
topjohnwu
c7d1af9805
Stop using PathBuf in package.rs
2025-04-28 17:22:14 -07:00
topjohnwu
4ad26d3dfb
Better path methods
2025-04-28 17:22:14 -07:00
topjohnwu
0c70b7670c
Cleanup dir implementations
2025-04-28 17:22:14 -07:00
topjohnwu
f44d044095
Remove Utf8CStrBuffer
2025-04-28 17:22:14 -07:00
topjohnwu
5c1cb13472
Remove AsUtf8CStr trait
2025-04-28 17:22:14 -07:00
topjohnwu
3327fc668e
Remove FsPath and FsPathMnt trait
...
Directly use Utf8CStr
2025-04-28 17:22:14 -07:00
topjohnwu
610945ac54
Remove open_fd macro
2025-04-28 17:22:14 -07:00
Howard Wu
ddf5474917
apt-get update before install to fix ci
2025-04-28 11:16:14 -07:00
Howard Wu
6ba1685ade
Fix some seopt log
2025-04-22 03:25:21 -07:00
topjohnwu
e02b5f7868
Rename cstr_buf to cstr::buf
2025-04-22 03:21:00 -07:00
topjohnwu
ab2e5d1e7e
Make FsPathBuf a trait and rename to FsPathBuilder
2025-04-22 03:21:00 -07:00
topjohnwu
f3fef7bfe4
Make FsPath a trait
2025-04-22 03:21:00 -07:00
topjohnwu
c34c7838bb
Cleanup cstr implementation
2025-04-22 03:21:00 -07:00
topjohnwu
c8a16b0e0c
Remove unused code
2025-04-16 17:13:03 -07:00
topjohnwu
14f9ed91a1
Remove unused methods
2025-04-15 11:35:31 -07:00
topjohnwu
7a207d4ccf
Only accept UTF-8 directory entries
2025-04-15 10:26:22 -07:00
topjohnwu
92a42d901f
Move most implementation into Directory
2025-04-15 10:26:22 -07:00
topjohnwu
084d89fcce
Create Utf8CStrBuffer type
2025-04-15 10:26:22 -07:00
topjohnwu
55b036c071
Introduce BorrowedDirectory
2025-04-15 10:26:22 -07:00
topjohnwu
30e79310ab
Make pointers NonNull after error check
2025-04-15 00:18:48 -07:00
topjohnwu
f063fa5054
Cleanup xwrap implementation
2025-04-15 00:18:48 -07:00
topjohnwu
7bd901273c
Provide richer error messages
...
Make sure most syscall/libc calls results are mapped to OsResult
that can produce more detailed error messages.
2025-04-15 00:18:48 -07:00
topjohnwu
c1e061603b
Specify ADB_SERIAL for emulator
2025-04-13 21:43:11 -07:00
topjohnwu
cb08504fe5
Update cargo dependencies
2025-04-11 14:48:16 -07:00
topjohnwu
c0a1fb77be
Code cleanup
2025-04-11 14:48:01 -07:00
LoveSy
4864c1112a
no pty for -c by default, and add -i to force pty
2025-04-11 13:21:10 -07:00
LoveSy
9ddeab034b
Fix wrong tty pump
...
See #1463
2025-04-11 13:21:10 -07:00
LoveSy
c4847ed288
Move pts to rust, and avoid using thread
2025-04-11 13:21:10 -07:00
topjohnwu
b8f1523fb2
Minor code reorg
...
[skip ci]
2025-04-08 17:20:22 -07:00
topjohnwu
fb7fa8a6b3
Update to ONDK r29.1
2025-04-08 12:11:59 -07:00
topjohnwu
9c7d359093
Optimize and format imports
...
[skip ci]
2025-04-08 09:57:09 -07:00
topjohnwu
eb54bc1fd7
Cleanup unused code
2025-04-08 02:33:52 -07:00
topjohnwu
d4a0286e13
Migrate magiskinit selinux.cpp to Rust
2025-04-08 02:33:52 -07:00
Steven Xu
83e66767ff
refactor: use empty navOptions
2025-04-02 09:13:32 -07:00
Steven Xu
7dc010749b
feat: remove animation settings button transition
2025-04-02 09:13:32 -07:00
Steven Xu
8e8d013b1b
feat: remove log overscroll
2025-04-02 09:13:32 -07:00
Steven Xu
bba0373808
feat: remove navigation transition when clicking buttons on the bottom bar
2025-04-02 09:13:32 -07:00
topjohnwu
1fa318dc8c
Use Rust elf-cleaner implementation
2025-04-01 18:32:54 -07:00
cheesetosti
6edc5e2037
Update install.md
...
fixed grammar n stuff
2025-04-01 12:13:29 -07:00
topjohnwu
1523ed9f78
Always go through rustup proxies
2025-04-01 10:01:35 -07:00
topjohnwu
8e604d2ab8
Update cuttlefish CI
2025-03-28 00:12:31 -07:00
topjohnwu
2aba7247a9
Skip stub APK install on emulator
...
Reduce test flakiness
2025-03-26 13:15:12 -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
vvb2060
c2ece62e4c
native: delete global 16k option
...
NDK 28 enable 16 KiB page size compatibility option by default, delete the global option to restore 4k alignment for 32-bit arch.
2025-03-26 13:15:12 -07:00
vvb2060
8c972dcf34
app: target sdk 36
2025-03-26 13:15:12 -07:00
topjohnwu
50af14f2a3
Move all MagiskInit entrypoints into init.rs
2025-03-24 17:26:03 -07:00
topjohnwu
e0a356b319
Introduce mount helper methods
2025-03-24 17:26:03 -07:00
topjohnwu
c09a792958
Reorganize magiskinit code
2025-03-24 17:26:03 -07:00
topjohnwu
0bbfe7f44d
Fix 2SI on legacy SAR devices
2025-03-24 17:26:03 -07:00
topjohnwu
a396abf565
Minor changes
...
[skip ci]
2025-03-22 01:16:51 -07:00
topjohnwu
1e3edb8883
Release new canary build
...
[skip ci]
2025-03-21 10:37:49 -07:00
topjohnwu
3b8b61bf35
Remove ZipUtils.kt
2025-03-20 14:54:25 -07:00
topjohnwu
6f90456036
Properly buffer I/O
2025-03-20 13:16:39 -07:00
topjohnwu
f56fd4e215
Always close outputStream in processFile
...
Fix #8735
2025-03-19 17:57:31 -07:00
topjohnwu
aa35aac5d5
Update dependencies
2025-03-19 15:55:06 -07:00
topjohnwu
1f162b819d
Update ONDK r29.0
2025-03-19 10:55:08 -07:00
Wang Han
52ef1d1cb2
Simplify matching selinux context of child zygote ( #8845 )
2025-03-11 01:27:15 -07:00
John Wu
f14e3a89cc
Enable optimize_for_size for Rust std ( #8844 )
2025-03-10 15:50:43 -07:00
topjohnwu
95d3eac2e0
Cleanup xwrap functions
2025-03-09 01:10:41 -08:00
Wang Han
8e73536e02
Remove unused hasGMS variable
2025-03-09 00:16:25 -08:00
LoveSy
12a0870bc9
Replace bzip2 with bz2-rs
2025-03-08 14:37:17 -08:00
topjohnwu
6ff82c4e86
Introduce FsPathFollow
...
Make sure all operations of FsPath do not follow symlinks, and provide
a way to explicitly switch over to a set of operations that DO follow
symlinks by FsPath::follow_link.
2025-03-07 15:51:51 -08:00
LoveSy
c64de35375
Move magiskpolicy cli to argh
2025-03-07 14:29:30 -08:00
topjohnwu
ee5283f4e8
Update release script
2025-03-07 14:14:06 -08:00
LoveSy
bd0e954fea
Replace zlib with zlib-rs
2025-03-07 11:40:02 -08:00
topjohnwu
675471a49e
Upgrade argh to stable release
2025-03-07 02:38:36 -08:00
topjohnwu
c90e73ccec
Migration to Edition 2024
2025-03-07 02:35:25 -08:00
topjohnwu
a43c1267d8
Update Cargo.toml
2025-03-07 02:35:25 -08:00
vvb2060
e8958c6b5c
get_secontext: ignore ENODATA
2025-03-06 20:03:36 -08:00
LoveSy
e8a3bf82c6
set exit code of log ExitOnError to -1
2025-03-06 20:03:15 -08:00
topjohnwu
27fd79176a
Update ONDK to r28.3
2025-03-06 17:41:28 -08:00
topjohnwu
28d86a3454
Update rustup_wrapper
...
[skip ci]
2025-03-06 16:12:35 -08:00
topjohnwu
c6c1a17ae6
Address several clippy warnings
2025-03-03 02:15:14 -08:00
topjohnwu
2b47d47215
Also run clippy with release mode
...
[skip ci]
2025-03-02 23:14:46 -08:00
David K.
0e82df9e10
Support zImage compression types other than gzip.
...
Instead of just searching for the gzip magic, it now incrementally searches the kernel for the first thing that `check_fmt_lg` doesn't report as `UNKNOWN`.
2025-03-02 13:35:13 -08:00
topjohnwu
893821ad88
Skip all tests on master push
2025-03-02 02:30:11 -08:00
topjohnwu
6b80fbfa99
Fix cache save condition
2025-03-02 02:30:11 -08:00
topjohnwu
8c3c7d0194
Build on master push
2025-03-02 01:51:42 -08:00
topjohnwu
b94a3d9f2f
Do not store cache on pull request
2025-03-02 01:51:42 -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
afbfb81837
docs: add avd_magisk.sh to faq
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
5f2ca81e86
Update AGP
2025-02-28 13:19:16 -08:00
topjohnwu
c9eac0c438
Introduce new sepolicy strategy for legacy devices
...
The existing sepolicy patching strategy looks like this:
1. 2SI: use LD_PRELOAD to hijack `security_load_policy`
2. Split policy: devices using split policy implies it also needs to
do early mount, which means fstab is stored in device tree.
So we do the following:
- Hijack the fstab node in the device tree in sysfs
- Wait for init to mount selinuxfs for us
- Hijack selinuxfs to intercept sepolicy loading
3. Monolithic policy: directly patch `/sepolicy`
Method #1 and #2 both has the magiskinit pre-init daemon handling
the sepolicy patching and loading process, while method #3 gives us
zero control over sepolicy loading process. Downsides:
a. Pre-init daemon bypasses the need to guess which sepolicy init
will load, because the original init will literally send the stock
sepolicy file directly to us with this approach.
b. If we want to add more features/functionalities during the sepolicy
patching process, we will leave out devices using method #3
In order to solve these issues, we completely redesign the sepolicy
patching strategy for non-2SI devices. Instead of limiting usage of
pre-init daemon to early mount devices, we always intercept the
sepolicy loading process regardless of the Android version and device
setup. This will give us a unified implementation for sepolicy patching,
and will make it easier to develop further new features down the line.
2025-02-28 09:39:10 -08:00
topjohnwu
b6b34f7612
Fix overlay.d context preservation
2025-02-27 01:57:25 -08:00
LoveSy
e55c413261
Correctly handle truncated dtb
2025-02-23 20:31:55 -08:00
topjohnwu
0399cde50a
Cleanup logcat.log for each invocation
2025-02-18 01:04:19 -08:00
topjohnwu
019eb03823
Hide or remove mut constructors for Utf8CStr
2025-02-17 11:38:11 -08:00
topjohnwu
363410e1c0
Introduce cstr_buf helper functions
2025-02-17 11:32:21 -08:00
topjohnwu
fc2ef21660
Introduce path! macro for FsPath
2025-02-17 01:46:19 -08:00
topjohnwu
18cb659ff3
Run clippy through build.py
2025-02-17 01:31:59 -08:00
topjohnwu
63231d97ce
Properly handle db downgrades
2025-02-16 17:01:36 -08:00
topjohnwu
9ac81a8a25
Skip module tests on API < 26
2025-02-16 16:20:09 -08:00
topjohnwu
79af2787ae
Workaround potential OOM when signing APKs
2025-02-16 16:20:09 -08:00
topjohnwu
f5f9b285c0
Add module tests
2025-02-16 16:20:09 -08:00
topjohnwu
6c05f2ae85
Test processing Shamiko module zip
2025-02-16 16:20:09 -08:00
topjohnwu
29043e1684
Consolidate setup methods
2025-02-16 16:20:09 -08:00
topjohnwu
b73d4a7022
Fix log_ok()
2025-02-16 12:01:25 -08:00
topjohnwu
ad95e8951b
Skip download in lsposed setup test
...
Download the zip during build time
2025-02-16 01:26:40 -08:00
topjohnwu
bf591fca12
Fix Utf8CString constructor and add more comments
2025-02-16 01:17:48 -08:00
topjohnwu
dcf027884d
Update FsPathBuf
2025-02-15 18:27:45 -08:00
topjohnwu
584f3820fe
Make all Utf8CStrWrite Utf8CStrBuf
2025-02-15 18:27:45 -08:00
topjohnwu
3c7c46307a
Partially cleanup MagiskInit code
2025-02-15 18:27:45 -08:00
vvb2060
4d80361805
core: search for first available dir in PATH
2025-02-15 15:08:26 -08:00
LoveSy
9a74e19117
Add log_ok() for log().ok()
2025-02-14 14:24:13 -08:00
LoveSy
b1e17706a4
Format code
2025-02-14 14:24:13 -08:00
LoveSy
caad129d69
Move MagiskInit::patch_sepolicy to rust
2025-02-14 14:24:13 -08:00
LoveSy
da58571ce5
Remove redundant rust export
2025-02-14 14:24:13 -08:00
LoveSy
2aa7f1c094
Move MagiskInit::check_two_stage to rust
2025-02-14 14:24:13 -08:00
LoveSy
823e31a91b
Use linker to link vfprintf as tiny_vfprintf
2025-02-14 14:24:13 -08:00
LoveSy
fb926ae302
Move MagiskInit::redirect_second_stage to rust
2025-02-14 14:24:13 -08:00
LoveSy
e0489eeffd
Move MagiskInit::first_stage to rust
2025-02-14 14:24:13 -08:00
LoveSy
dc9d5a4cac
Move MagiskInit::second_stage to rust
2025-02-14 14:24:13 -08:00
LoveSy
143743d0b0
Refactor init.cpp to init.rs
2025-02-14 14:24:13 -08:00
LoveSy
563f0d5ad5
Move BootConfig::print to rust
2025-02-14 14:24:13 -08:00
LoveSy
c99f4a591b
Move MagiskInit::exec_init to rust
2025-02-14 14:24:13 -08:00
LoveSy
449204e380
Move MagiskInit::prepare_data to rust
2025-02-14 14:24:13 -08:00
LoveSy
a85c4c6528
Move MagiskInit::MagiskInit to rust
2025-02-14 14:24:13 -08:00
LoveSy
d203a6fff6
Move MagiskInit to rust
2025-02-14 14:24:13 -08:00
LoveSy
6c612d66d7
Move BootConfig to rust
2025-02-14 14:24:13 -08:00
topjohnwu
540253a55b
Remove unnecessary FFI
2025-02-14 11:24:46 -08:00
topjohnwu
15b7c4ccd1
Fix tmpfs mounts in avd_magisk.sh
2025-02-14 10:17:31 -08:00
topjohnwu
442d5335ea
Consolidate get_module_fds implementation
...
Close #8767
2025-02-12 02:55:27 +08:00
topjohnwu
8a80eea597
Directly deal with Rust &str in sepolicy.cpp
2025-02-12 01:26:06 +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
topjohnwu
b7ca73f431
Remove an additional unique_ptr indirection
2025-02-05 14:18:16 +08:00
Wang Han
a14fc90f07
Fix fetching notification settings from db ( #8761 )
...
Co-authored-by: LoveSy <shana@zju.edu.cn >
2025-02-04 17:42:21 +08:00
LoveSy
c913f7ec74
Make sepolicy a shared type between rust and cxx
2025-02-04 00:36:11 +08:00
topjohnwu
7f6c9e8411
Fix zygisk module load
2025-02-03 23:21:51 +08:00
topjohnwu
bb02ea3a20
Fix file descriptor IPC
2025-02-03 18:21:03 +08:00
LoveSy
3981c9665e
Replace rust inner functions to try blocks
2025-02-02 22:09:55 +08:00
topjohnwu
88628fdf3c
Make sure IPC is arch agnostic
2025-02-02 22:08:41 +08:00
topjohnwu
0469817781
Cleanup code and bindings
2025-02-02 22:08:41 +08:00
topjohnwu
a786801141
Implement su_daemon in Rust
2025-02-02 22:08:41 +08:00
topjohnwu
ab86732c89
Implement simple serialization over IPC
2025-02-02 22:08:41 +08:00
topjohnwu
59622d1688
Use static methods in cxx-rs
2025-02-02 02:46:33 +08:00
LoveSy
58a25a3e2b
Fix su with tty
2025-02-01 16:50:53 +08:00
topjohnwu
15dca29a87
Update cxx-rs
2025-02-01 02:02:29 +08:00
Wang Han
46980819c0
Expose safe mode option on 28+
2025-01-31 12:20:02 +08:00
topjohnwu
4fb6a7268c
Fix SDK 27 and 28 tests
2025-01-31 02:52:27 +08:00
topjohnwu
c05e963f37
Address clippy warnings
2025-01-31 02:52:27 +08:00
topjohnwu
7f7f625864
Code reorganization
2025-01-31 02:52:27 +08:00
topjohnwu
b25aa8295a
Move bootstage into Rust
2025-01-31 02:52:27 +08:00
topjohnwu
15a605765c
Fully implement daemon side of Zygisk in Rust
2025-01-31 02:52:27 +08:00
topjohnwu
b575c95710
Implement fd I/O on Rust side
2025-01-31 02:52:27 +08:00
topjohnwu
a48a9c858a
Migrate zygisk handler to Rust
2025-01-31 02:52:27 +08:00
topjohnwu
0d8d6290a3
Move module list into MagiskD
2025-01-31 02:52:27 +08:00
topjohnwu
4dcd733ddd
Minor code cleanup
2025-01-31 02:52:27 +08:00
topjohnwu
b62835cbeb
Release new canary build
2025-01-31 02:36:58 +08:00
Wang Han
6ea740b5ab
Skip clearing install dir if not needed
2025-01-27 12:14:55 +08:00
topjohnwu
7ab98dd5ac
Make ioctl not a special token
2025-01-27 03:01:00 +08:00
anonymix007
fc8b3400fc
Fix sterm parsing logic for ioctl
2025-01-27 03:01:00 +08:00
topjohnwu
54428ba415
Fix Android Studio C++ indexing
2025-01-26 02:24:35 +08:00
topjohnwu
95d1e69d8e
Update to ONDK r28.2
2025-01-21 18:50:12 +08:00
topjohnwu
a0f13ab49f
Move lambda to static function
2025-01-19 18:59:17 +08:00
topjohnwu
c3e8405020
Update libcxx
2025-01-19 18:51:17 +08:00
Pesh4waaa
a93593ea66
Kurdish Language For Magisk
2025-01-19 15:24:03 +08:00
Wang Han
23eff70883
Fix repeated binding of first argument
...
Co-authored-by: LoveSy <shana@zju.edu.cn >
2025-01-19 11:57:09 +08:00
vvb2060
110dd4a8b9
Update dependencies
2025-01-19 11:55:44 +08:00
Wang Han
d9c2bffc9f
Avoid hardcoding max fd size
...
Android changed max fd limit to 32768 since Android 9:
cb5fccc83c
Co-authored-by: LoveSy <shana@zju.edu.cn >
2025-01-19 11:54:26 +08:00
topjohnwu
049db49dc8
Use preprocessor for 64bit detection
2025-01-11 00:15:10 +08:00
Wang Han
7c1d2ec61e
zygisk: Let client send arch info
2025-01-11 00:15:10 +08:00
topjohnwu
a1b2830c06
Address clippy warnings
2025-01-11 00:11:48 +08:00
topjohnwu
82d1d19267
Migrate uid_granted_root to Rust
2025-01-11 00:11:48 +08:00
topjohnwu
4d4195c02d
Migrate prune_su_access to Rust
2025-01-11 00:11:48 +08:00
topjohnwu
5637a258fc
Migrate package detection to Rust
2025-01-11 00:11:48 +08:00
topjohnwu
ee6810f417
Rewrite magisk logging implementation
2025-01-11 00:11:48 +08:00
topjohnwu
7098248c64
Add more functionality into Rust
2025-01-11 00:11:48 +08:00
topjohnwu
0d31d356ef
Use SQLite's internal time function
2025-01-05 05:04:04 -08:00
topjohnwu
b782e7dcb7
Fetch policy table from Rust
2025-01-05 05:04:04 -08:00
Softastur
a4671b4698
Update Asturian translations
...
Fixing and updating
2025-01-05 03:15:31 -08:00
topjohnwu
7edd8be169
Minor changes
2025-01-04 02:24:08 -08:00
topjohnwu
24650eefe4
Bind SQLite to Rust
2025-01-04 02:24:08 -08:00
topjohnwu
8e1a44e7eb
Use argument binding for query
2025-01-04 02:24:08 -08:00
topjohnwu
2722875190
Use better C++ SQL APIs
2025-01-04 02:24:08 -08:00
topjohnwu
3ca6d06f69
Cleanup database code
2025-01-04 02:24:08 -08:00
topjohnwu
10e47248de
Use finer grain sqlite3 APIs
2025-01-04 02:24:08 -08:00
Pzqqt
e73ff679ac
scripts: flash_script.sh: Avoid overly dangerous code
2024-12-27 16:02:24 -08:00
Wang Han
53e401fa2d
Perform authentication if needed for AutomaticResponse setting
2024-12-27 16:00:02 -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
LoveSy
a6c2ba7c1e
Allow kernel to relabel
2024-12-27 12:35:29 -08:00
LoveSy
aae5b466fb
Use rust to implement collect/reset overlay context
2024-12-27 12:35:29 -08:00
5ec1cff
2b7be8b949
init: reset overlay.d files context after sepolicy loaded
2024-12-27 12:35:29 -08:00
5ec1cff
b6511a510d
Revert "Allow all domains to access tmpfs files"
...
This reverts commit da43ac89a0 .
2024-12-27 12:35:29 -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
005560a4c5
Always rescan manager APK when database is updated
2024-12-26 12:18:38 -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
topjohnwu
8506b672ad
Update CI operating system
2024-12-23 22:52:30 -08:00
topjohnwu
ce2e33bb20
Cleanup test scripts
2024-12-23 20:42:54 -08:00
topjohnwu
6707b72260
Fix AVD tests
2024-12-23 20:41:42 -08:00
topjohnwu
5885b8c20d
Add new tests for app hiding
2024-12-18 17:22:31 -08:00
topjohnwu
820710c086
Fix incorrect SQLite syntax
2024-12-18 17:22:31 -08:00
topjohnwu
51cf196bf7
Always use root to hide/restore app
2024-12-18 17:22:31 -08:00
Wang Han
dadba44cf9
Update module installer guide about META-INF
2024-12-17 16:36:40 -08:00
topjohnwu
2ce4a5543b
Make ndk-build happy when Rust libs are missing
2024-12-13 17:00:40 -08:00
topjohnwu
9112a3a4f5
Introduce instrumentation tests
2024-12-13 12:07:42 -08:00
topjohnwu
24615afda1
Remove usage of ProcessLifecycle
2024-12-13 12:07:42 -08:00
topjohnwu
c5778f398b
Cleanup imports
2024-12-13 12:07:42 -08:00
topjohnwu
4eb4097b9b
Split file processing into its own class
2024-12-13 12:07:42 -08:00
vvb2060
c512496847
install_module: simplify script
2024-12-12 10:08:09 -08:00
vvb2060
506961a10d
flash module: ignore META-INF
2024-12-12 10:07:47 -08:00
topjohnwu
3414415907
Support zip files with unsupported compresssion method
2024-12-12 02:50:19 -08:00
topjohnwu
dc2ae7cfd1
Disable CI on master push
...
Changes should be done through PRs for CI
2024-12-12 02:50:19 -08:00
topjohnwu
2e86d21c29
16k pages only work on Android B on x64
2024-12-09 20:13:27 -08:00
topjohnwu
2654382c43
Address clippy warnings
2024-12-09 18:26:39 -08:00
topjohnwu
9e26b73813
Update rust dependencies
2024-12-09 18:26:39 -08:00
topjohnwu
10cd13bf80
Update ONDK r28.1
2024-12-09 18:26:39 -08:00
topjohnwu
f10ee5f887
Test 16K pages with AVD instead of Cuttlefish
2024-12-09 14:16:08 -08:00
topjohnwu
47cc532d96
Release new canary build
2024-12-06 18:19:06 -08:00
topjohnwu
218327f92b
Release Magisk v28.1
2024-12-06 17:45:41 -08:00
topjohnwu
4eae66a1a7
Add v28.1 release notes
2024-12-06 17:38:43 -08:00
vvb2060
b09ceeb43c
scripts: sync avd_magisk.sh with mgiskinit
2024-12-06 02:21:17 -08:00
vvb2060
4fb539c110
core: use a new tmpfs as worker
2024-12-06 02:19:43 -08:00
vvb2060
849b284da5
core: insert symlink magisk_node
2024-12-06 02:19:32 -08:00
topjohnwu
895b5f6cbf
Release new canary build
2024-12-04 01:28:31 -08:00
SonyaMedved
cb3d4ea514
strings.xml
...
The strings have been translated into Ukrainian.
2024-12-04 01:26:39 -08:00
topjohnwu
0d89a2a97d
Update AGP
2024-12-04 01:25:44 -08:00
nedokaka
3ca5913055
Update Russian Translation
2024-12-03 19:52:53 -08:00
topjohnwu
df6b808f49
Cleanup DesugarClassVisitorFactory
2024-12-03 19:52:39 -08:00
topjohnwu
09c7ac754b
Simplify MagiskD Rust/C++ FFI
2024-12-03 15:51:17 -08:00
topjohnwu
805da67c23
Update cxx-rs
2024-12-03 14:16:14 -08:00
topjohnwu
3c6889505b
Stop using polymorphism in magiskinit
2024-12-03 02:18:22 -08:00
topjohnwu
c8e9ce7627
Cleanup mount code in magiskinit
2024-12-03 02:18:22 -08:00
topjohnwu
837c679a31
Update avd_test API versions
2024-12-03 02:18:22 -08:00
LoveSy
06616659b8
Only desugar ZipEntry's methods
2024-12-02 19:55:28 -08:00
topjohnwu
a34c04f999
Release new canary build
2024-12-01 14:59:57 -08:00
topjohnwu
da43ac89a0
Allow all domains to access tmpfs files
...
Fix #8457
2024-11-30 23:21:33 -08:00
vvb2060
830fc758b9
init: Use apex dir to determine whether 2SI
2024-11-30 23:03:29 -08:00
vvb2060
0f3cfef278
Revert "init: support 2SI devices with skip_initramfs"
...
This reverts commit b38fd1ca5f .
2024-11-30 23:03:29 -08:00
topjohnwu
b32d7bfafd
Update gradle version
2024-11-21 21:05:35 -08:00
topjohnwu
c0899f2939
Update dependencies
2024-11-19 20:29:15 -08:00
topjohnwu
082330808f
Fix building APK
2024-11-19 20:25:10 -08:00
topjohnwu
024da05888
Move several stuff into buildSrc
2024-11-09 20:08:12 -08:00
LoveSy
377b6d0cc2
avoid desugar the Desugar class
2024-11-09 19:41:06 -08:00
Georgi Boiko
c661009b31
docs(ci): update setup action to state correct jdk version
2024-11-04 11:12:01 -08:00
vvb2060
613f2d31c5
app: auto close action fragment only when focus lost
2024-11-04 11:11:41 -08:00
vvb2060
7dbb973db5
daemon: some samsung devices using incorrect mediatek-res path
2024-11-04 11:09:53 -08:00
topjohnwu
f4502f8be8
Add our own API desugaring
...
Fix #8452
2024-10-29 12:13:22 -07:00
topjohnwu
455b13b83c
Fix download URL in stub.apk
2024-10-17 19:42:10 -07:00
topjohnwu
8b98709743
Update dependencies
2024-10-17 13:17:46 -07:00
tzagim
1b12f45f39
Update Hebrew Translation
2024-10-15 15:23:21 -07:00
vvb2060
a5cad532ff
ui: fix lock screen orientation
2024-10-12 01:16:24 -07:00
topjohnwu
070719db50
Release new canary build
2024-10-10 02:10:50 -07:00
topjohnwu
28cccdf7aa
Release Magisk v28.0
2024-10-10 01:47:00 -07:00
topjohnwu
b7e0986a5c
Add v28.0 changelog
2024-10-10 01:40:14 -07:00
topjohnwu
da709745dd
Revert #8245
2024-10-09 15:40:23 -07:00
topjohnwu
8b6771d487
Update dependencies
2024-10-08 01:40:09 -07:00
topjohnwu
e1b847fbc5
Find boot image with MagiskInstaller
...
Fix #8211
2024-10-07 16:52:35 -07:00
topjohnwu
7188de1205
Support unaligned boot image file
...
Fix #7733
2024-10-06 03:01:08 -07:00
topjohnwu
44fb7dbcbe
Update Busybox
...
Fix #8403
2024-10-06 01:47:13 -07:00
topjohnwu
8086b5933c
Update crt0
...
Fix #8424
2024-10-02 16:37:07 -07:00
topjohnwu
7f675f4bf7
Update dependencies
2024-09-27 14:38:32 -07:00
vvb2060
5e6b53e0da
AppMigration: put suManager after installation
2024-09-25 12:34:21 -07:00
残页
5b29fefc65
Replace LOGE with LOGW so the process don't abort
...
Co-authored-by: 南宫雪珊 <vvb2060@gmail.com >
2024-09-25 11:59:58 -07:00
残页
16a168535d
Check sepolicy database version in add_xperm_rule
...
Fix #8344
2024-09-25 11:59:58 -07:00
Wang Han
33f70f8f6d
Update zh-rCN strings
2024-09-17 15:01:10 -07:00
topjohnwu
4f18a66d73
Release new canary build
2024-09-17 01:46:04 -07:00
Wang Han
250dc16007
Fix post-fs-data blocking time in doc
...
f7d3d1eeaf .
2024-09-17 01:28:01 -07:00
Wang Han
7af273e047
Don't append "start logd" in post-fs-data
...
This was first done in b13eb3f because magiskd was started in
post-fs stage that time. Among all android versions, logd was all
started before post-fs-data.
2024-09-16 00:30:36 -07:00
Arbri çoçka
e381aebaa0
Update strings.xml Albania (sq)
2024-09-16 00:24:47 -07:00
LoveSy
45d91c9658
Upgrade Gradle
2024-09-15 00:14:15 -07:00
igor
4a9158f667
Update Portuguese translation
2024-09-14 23:08:40 -07:00
niels
0d9ee89e7f
magiskboot: cleanup bootconfig and vendor ramdisk dir
2024-09-14 23:08:22 -07:00
topjohnwu
abaff72304
Enable core library desugaring
...
Fix #8343
2024-09-09 01:59:32 -07:00
topjohnwu
b828e2d0b2
Update dependencies
2024-09-08 03:02:09 -07:00
Wang Han
53d7cbc11b
Clarify magiskboot requirements for repacking img
2024-09-08 01:13:46 -07:00
LoveSy
310be7ab47
Return exit value of action.sh
2024-09-08 01:12:30 -07:00
LoveSy
60894e458f
Automatically close action fragment when action exits successfully
2024-09-08 01:12:30 -07:00
LoveSy
fbebb6ac10
Add action.sh for user to manually trigger modules' functionality from app
2024-09-08 01:12:30 -07:00
LoveSy
a9f8c20703
Upgrade AGP
2024-09-05 21:50:56 -07:00
vvb2060
ae0b15d197
deps: update gradle to 8.10
2024-09-05 21:50:46 -07:00
vvb2060
869aa62328
ci: fix build
2024-09-05 21:50:46 -07:00
vvb2060
dcd3bc58a3
app: target api 35
2024-09-05 21:50:46 -07:00
Salvo Giangreco
a82f17c594
Disable Samsung PROCA
...
Signed-off-by: Salvo Giangreco <giangrecosalvo9@gmail.com >
2024-09-04 01:49:02 -07:00
vvb2060
b38fd1ca5f
init: support 2SI devices with skip_initramfs
2024-09-03 16:33:57 -07:00
topjohnwu
8e82113bce
Release new canary build
2024-08-23 01:07:45 -07:00
vvb2060
f723ef153b
zygisk_node: skip magisk32 if 64bit zygote only
2024-08-22 11:58:29 -07:00
topjohnwu
1dc723fb6d
Attempt to reuse cache on Windows
2024-08-21 22:06:12 -07:00
topjohnwu
8f271c2575
Custom sccache support in CI
2024-08-21 16:51:30 -07:00
topjohnwu
7cf56b4406
Simplify ramdisk test
2024-08-21 16:46:37 -07:00
Wang Han
c2eb603957
Require GMS to be system app
...
Fixes https://github.com/topjohnwu/Magisk/issues/8279 .
2024-08-20 10:36:14 -07:00
topjohnwu
e6bd2ff60f
Fix stock image restore
...
Fix #8211
2024-08-20 02:23:20 -07:00
topjohnwu
5604074eba
Fix module auto install
...
Fix #8208
2024-08-20 01:09:25 -07:00
topjohnwu
3f061c1a1e
Update dependencies
2024-08-19 17:54:02 -07:00
LoveSy
55e78a7b1a
BYD XDJA container support
2024-08-19 17:50:16 -07:00
vvb2060
000f1d6041
Revert "Don't support alternative binary paths"
...
This reverts commit 1eeb2a34a1 .
2024-08-19 11:52:55 -07:00
vvb2060
2cbec20238
find_boot_image: test GKI 1.0
2024-08-19 03:05:24 -07:00
vvb2060
4b724c7257
find_boot_image: test previous kernels (<=4.19)
2024-08-19 03:05:24 -07:00
vvb2060
ab04c6ab39
find_boot_image: keep symlink
2024-08-19 03:05:24 -07:00
topjohnwu
821a6c6954
Only save gradle cache on asset build job
2024-08-18 21:42:28 -07:00
topjohnwu
5f27a62221
Use gradle version catalog
2024-08-18 13:12:23 -07:00
topjohnwu
c76cc4c6bd
Update cuttlefish hostside tools
2024-08-16 15:58:29 -07:00
𝗦𝗵𝗟𝗲𝗿𝗣
52b75c53b6
Update TR Locales
2024-08-16 11:38:36 -07:00
topjohnwu
9db2e99086
Test 16k on Cuttlefish
2024-08-15 22:51:40 -07:00
LoveSy
e9e2ecf2dd
load partition_map only once
2024-08-15 10:10:18 -07:00
LoveSy
9a9e617c35
Use find_if
2024-08-15 10:10:18 -07:00
LoveSy
3a0becc783
Use parse_impl for partition_map
2024-08-15 10:10:18 -07:00
ChsBuffer
1f974cb220
Use androidboot.partition_map as a fallback for matching partition names in the preinit finding.
2024-08-15 10:10:18 -07:00
LoveSy
1db80228e8
Move worker mount to magiskinit
2024-08-15 02:39:51 -07:00
LoveSy
838e1e254d
Move devpts mount to magiskinit
2024-08-15 02:39:51 -07:00
topjohnwu
554eda8fe1
Switch to gmake on macOS
2024-08-15 02:37:59 -07:00
topjohnwu
2bdc047c4d
Call sqlite3_free only on sqlite3 malloc-ed objects
2024-08-14 13:23:59 -07:00
topjohnwu
e64f59ce5b
Make CI faster
2024-08-14 00:21:45 -07:00
topjohnwu
b8140ad4e6
Re-enable Windows CI
2024-08-13 21:12:06 -07:00
LoveSy
5a55483698
Set -fno-threadsafe-statics for crt0
...
Since crt0 has no pthread support, we don't need lock for statics.
2024-08-12 10:57:45 -07:00
vvb2060
2d341863f5
set MAGISKTMP
2024-08-12 02:05:58 -07:00
LoveSy
278046becb
Fix wrong cxx_extern return value
...
This fix UB
2024-08-12 02:05:26 -07:00
topjohnwu
5c0497354f
Temporarily disable Windows CI
2024-08-12 02:04:13 -07:00
topjohnwu
98c258df93
Update AGP
2024-08-11 04:30:01 -07:00
topjohnwu
c578cccfd5
Update to ONDK r27.4
2024-08-11 04:16:19 -07:00
Andrew Gunnerson
07835a3e0e
util_functions.sh: Fix syntax error due to missing then
...
Signed-off-by: Andrew Gunnerson <accounts+github@chiller3.com >
2024-08-06 01:16:19 -07:00
topjohnwu
09131aca89
Fix find_boot_image
...
Close #8255
2024-08-05 11:24:30 -07:00
topjohnwu
9ce998a6df
Fix arab strings
2024-08-04 01:54:28 -07:00
topjohnwu
ca36b42d79
Update release.sh
2024-08-03 01:55:03 -07:00
topjohnwu
37df39ec37
Address clippy warnings
2024-08-03 01:52:16 -07:00
topjohnwu
1701361a73
Update cargo dependencies
2024-08-03 01:49:14 -07:00
topjohnwu
4c14ae33f5
Properly configure Rust builds
2024-08-03 01:28:53 -07:00
topjohnwu
d4a9ef7b7f
Cleanup build.py
2024-08-03 00:05:49 -07:00
topjohnwu
1539cfe888
Support setting custom ABI list
...
Also stop building riscv64 by default
2024-08-01 14:33:08 -07:00
topjohnwu
9093be1329
Run commands through shell on Windows
2024-07-31 17:21:18 -07:00
topjohnwu
606d076251
Build debug with thin lto
2024-07-31 17:00:01 -07:00
残页
46a34e19bc
Check vendor boot ramdisk table size
2024-07-31 16:59:51 -07:00
topjohnwu
5ac7dc0b37
Support vendor boot unpack/repack
...
Fix #6460 , close #6620
2024-07-30 04:00:12 -07:00
topjohnwu
3b27de3715
Output logs to files
2024-07-25 03:48:13 -07:00
topjohnwu
939bfac920
Make sure version is fetched correctly
2024-07-25 03:04:27 -07:00
muhammadbahaa2001
f601bf12d5
Updated Arabic
2024-07-25 03:03:49 -07:00
topjohnwu
0495468d02
Release new canary build
2024-07-24 23:13:21 -07:00
topjohnwu
300a2a242c
Add release script
2024-07-24 23:10:57 -07:00
topjohnwu
33aebb5976
Stop embedding executables
2024-07-24 22:49:48 -07:00
pndwal
b3d6809c0b
Update README.MD
...
Remove redundant Canary changelog link
2024-07-24 19:04:50 -07:00
LoveSy
461f7e9f89
Use metadata even if it is f2fs
2024-07-24 19:02:35 -07:00
LoveSy
9cc50b20d8
Correctly handle comments in sepolicy.rule
2024-07-24 19:02:25 -07:00
LoveSy
f488e9df8f
Fix sepolicy rule path
2024-07-24 19:02:12 -07:00
LoveSy
0dc596e206
Update Chinese translation
2024-07-24 19:01:59 -07:00
topjohnwu
c3bf03190b
Use K2 in kapt
2024-07-24 17:06:41 -07:00
topjohnwu
021ae891a9
Update dependencies
2024-07-24 16:53:15 -07:00
topjohnwu
9c03514eb1
Create :app:clean task
2024-07-24 16:46:47 -07:00
topjohnwu
eb74b266e1
Do not modify args
...
Close #8242
2024-07-24 16:37:22 -07:00
topjohnwu
80eb6ff25a
Update README
2024-07-23 21:37:04 -07:00
topjohnwu
7b81e2d2d1
Release new canary build
2024-07-23 17:23:50 -07:00
topjohnwu
a8789073f1
Run copy_preinit_files in run_migrations
2024-07-23 02:21:49 -07:00
残页
c8fe0f5524
Catch possible exceptions when the receiver is already unregistered
2024-07-23 02:06:15 -07:00
vvb2060
d33b077a13
Remove NVBASE
...
We only move /cache/data_adb/magisk and /data/magisk to /data/adb/magisk (#7638 ), so NVBASE is redundant and we can just use MAGISKBIN.
2024-07-23 02:03:47 -07:00
vvb2060
2282365cf8
clean code
2024-07-23 02:02:56 -07:00
vvb2060
9a00b7b942
update copy_preinit_files
2024-07-23 02:02:56 -07:00
vvb2060
d54baadbed
Use ro.crypto.metadata.enabled
2024-07-23 02:02:56 -07:00
LoveSy
0869a90fe3
Use symlink to setup preinit
2024-07-23 02:02:56 -07:00
LoveSy
2754b1dcf8
Add comment about the choice
2024-07-23 02:02:56 -07:00
LoveSy
0db6314661
Refactor preinit finding
2024-07-23 02:02:56 -07:00
topjohnwu
b5d2ef18e8
Move more data and function into HookContext
2024-07-22 20:36:55 -07:00
topjohnwu
6e22476acc
Update test scripts
2024-07-22 03:39:04 -07:00
topjohnwu
b26db8cee6
Switch over to ANDROID_HOME
...
Keep ANDROID_SDK_ROOT as a fallback
2024-07-21 00:53:13 -07:00
topjohnwu
33cb39c8af
Minor code changes for hook.cpp
2024-07-21 00:52:43 -07:00
LoveSy
f247759a6e
No need _orig to call backup
2024-07-20 21:36:26 -07:00
LoveSy
de7e5bdfe7
Update comments
2024-07-20 21:36:26 -07:00
LoveSy
53a8ba8cfe
Use hookJniNativeMethods to hook zygote pre/post fork
2024-07-20 21:36:26 -07:00
LoveSy
f2d057baba
Refine hookJniNativeMethods
2024-07-20 21:36:26 -07:00
LoveSy
93bcf2cd25
Correct debug symbol configuration
2024-07-20 20:29:58 -07:00
LoveSy
6d82515cfc
No default features of pb-rs
2024-07-20 20:29:38 -07:00
topjohnwu
a177d3b022
Fix AVD test on API 23
2024-07-20 15:08:06 -07:00
topjohnwu
92b2e06e57
Increase cgu on debug builds
2024-07-20 04:59:20 -07:00
topjohnwu
f919bb0e99
Minor changes
2024-07-20 04:52:25 -07:00
topjohnwu
054971e899
Add permissions
2024-07-20 03:43:06 -07:00
topjohnwu
93c3d36452
Add Cuttlefish tests in CI
2024-07-20 03:10:18 -07:00
topjohnwu
4c38af994d
Sync native and Java implementation
2024-07-19 23:22:08 -07:00
topjohnwu
bbb8efe92c
Support Cuttlefish
2024-07-19 22:08:35 -07:00
topjohnwu
659dd09723
Do not modify system-images contents when patching
2024-07-19 16:47:12 -07:00
LoveSy
4931825912
Fix zygisk v5
2024-07-17 10:52:16 -07:00
topjohnwu
ef81cdab4f
Prebuild Busybox
...
Prebuild with tools in ndk-box-kitchen
2024-07-17 02:58:31 -07:00
topjohnwu
7c0b25cad9
Release new canary build
2024-07-12 15:54:16 -07:00
topjohnwu
b38ab2a7d6
Use K2 to compile buildSrc
...
Make all Kotlin source code build with K2.
K2 seems to have bugs with lazy property assignment, revert it to set().
2024-07-12 15:27:04 -07:00
LoveSy
a97191052b
Upgrade gradle
2024-07-12 13:46:06 -07:00
vvb2060
2963d4ca9e
Rewrite get_manager
2024-07-12 13:45:48 -07:00
vvb2060
6aab856de7
Enhanced denylist app id tracking
2024-07-12 13:45:48 -07:00
topjohnwu
94d1c66f8a
Make AVD test timeout at 10 minutes
2024-07-12 11:39:11 -07:00
topjohnwu
7ff4d7608e
Update dependencies
2024-07-11 23:28:01 -07:00
sn-o-w
46ef915c83
Update Romanian
2024-07-11 22:31:32 -07:00
LoveSy
63b0a0d96b
Fix incomplete native debug symbols
...
See https://github.com/android/ndk/issues/2039
2024-07-11 22:31:09 -07:00
LoveSy
ea4cabdfc5
Use simple property assignment
2024-07-11 22:28:59 -07:00
LoveSy
0185ddf577
Fix building on higher version of jdk
2024-07-11 22:28:59 -07:00
topjohnwu
ddae568741
Move SplashActivity logic into core module
2024-07-11 22:08:01 -07:00
topjohnwu
fcb7ebb090
Cleanup resources
2024-07-11 17:58:52 -07:00
topjohnwu
8d446fcc16
Move all core code into the same parent package
2024-07-11 16:49:01 -07:00
topjohnwu
881d3b5221
App migration minor refactoring
2024-07-11 16:28:56 -07:00
topjohnwu
fe9ec3bc6d
Move app initialization routine into core module
2024-07-11 16:10:49 -07:00
topjohnwu
480198dcd0
Improve package migration
2024-07-11 15:50:40 -07:00
topjohnwu
4ab7bc0d97
Minor SettingsItem cleanup
2024-07-11 02:44:38 -07:00
topjohnwu
7173693d1b
Use platform LocaleManager if possible
2024-07-11 02:44:38 -07:00
topjohnwu
6b81716440
Update stub implementation
2024-07-11 02:44:38 -07:00
topjohnwu
88e8e15607
Create singleton AppContext
2024-07-11 02:44:38 -07:00
LoveSy
69181a6b72
Fix wrong sepolicy rule
2024-07-08 12:09:45 -07:00
Wang Han
b11b81122a
Tighten rules for tmpfs file
...
Before magiskd is executed, all files in magisk tmpfs still shares
tmpfs label. This commit tightens the rule to only allow init, zygote
and shell to access magisk tmpfs files. Zygotes rules is needed
because lower Android versions don't have rule for zygote itself
using memfd even memfd is supported in kernel.
2024-07-08 12:06:49 -07:00
Wang Han
648e3ee36b
Update build.yml
2024-07-08 12:02:51 -07:00
LoveSy
724b94f320
Update README.MD ( #8192 )
...
Co-authored-by: 南宫雪珊 <vvb2060@gmail.com >
2024-07-08 12:02:14 -07:00
topjohnwu
a6e65f9a7e
Fix building release builds
2024-07-06 01:55:09 -07:00
topjohnwu
af5c4d09c4
Re-enable nonTransitiveRClass
2024-07-06 01:31:43 -07:00
topjohnwu
872394cb58
Decouple core module from AppCompatActivity
2024-07-05 00:49:26 -07:00
topjohnwu
fcbbe9a22e
Move :app to :app:apk
2024-07-04 02:27:20 -07:00
topjohnwu
b168163ef0
Move :stub to :app:stub
2024-07-04 00:21:34 -07:00
topjohnwu
3e38b8fed1
Separate core codebase into its own module
...
- Separate UI specific code and resources outside of the core
application logic
- Allow most of the code to move forward and use KSP for annotation
processing and isolate rotton code that is stuck with databinding
- Make full UI rewrite more feasible
2024-07-04 00:02:42 -07:00
kubalav
f90c548f27
Update Slovak translation
2024-07-03 22:55:31 -07:00
igor
c981c40218
Update Portuguese translation
2024-07-03 22:55:12 -07:00
Rom
dcbf37c5e8
Update French translation
...
To match with changes of "Add option to disable filename randomization"
2024-07-03 22:54:47 -07:00
topjohnwu
300b233a27
Simplify MediaStoreUtils
2024-07-02 17:15:27 -07:00
topjohnwu
e32cd03d0b
Update docs to cover riscv64
2024-07-02 14:53:46 -07:00
LoveSy
a07b9315a5
Add riscv64 support
2024-07-02 14:34:22 -07:00
topjohnwu
e9694c6195
Add option to disable filename randomization
2024-07-02 14:28:26 -07:00
Wang Han
4a2a37c87a
Catch PendingIntent.CanceledException caused by send()
...
Accidentally changed in 050a073 .
2024-07-02 14:24:27 -07:00
vvb2060
7dca5b831a
check empty init_boot partition
...
For upgrading devices that continue to use Android 12 or older kernel versions, the generic ramdisk remains where it was with no requirement for a new init_boot image.
2024-07-02 14:23:28 -07:00
topjohnwu
be5ff68140
Exclude apache commons codec resources
2024-07-01 18:56:08 -07:00
topjohnwu
59f40d5fe5
Move manager.sh to app_functions.sh
2024-07-01 18:42:05 -07:00
topjohnwu
1fbd053a42
Prevent polluting global shell env
2024-07-01 18:20:21 -07:00
topjohnwu
966c6314f8
Cleanup configs
2024-07-01 17:23:48 -07:00
Li Hua
c92204c724
Update Simplified Chinese Translation
...
Signed-off-by: Li Hua <lihua@email.com >
2024-07-01 14:51:06 -07:00
igor
bb9947d4d2
Update Portuguese translation
2024-07-01 14:50:52 -07:00
Wang Han
7c8cdb4ad6
Set default visibility of restart button to GONE
...
This fixes the issue that button still shows when installation fails.
2024-07-01 14:50:34 -07:00
Wang Han
bd7f9c9e46
Unset FLAG_ACTIVITY_NO_HISTORY for SuRequestActivity
...
This fixes device credential confirm activity on OnePlus devices
because SuRequestActivity is accidentally finished before a valid
response is delivered to it.
2024-07-01 14:50:09 -07:00
vvb2060
9a33a4dfe2
Fix StackOverflowError
...
Now field from base class java.io.ByteArrayOutputStream shadows the property with custom getter from derived class com.topjohnwu.magisk.core.utils.AXML.RawByteStream. This behavior will be changed soon in favor of the property. Please use explicit cast to java.io.ByteArrayOutputStream if you wish to preserve current behavior. See https://youtrack.jetbrains.com/issue/KT-55017 for details
2024-07-01 14:36:20 -07:00
topjohnwu
47e918bc92
Fix vbmeta.img tar patching
2024-07-01 03:20:09 -07:00
Wang Han
c194168d9b
Fix item match when extracting lib from stub
...
Close #8083 .
2024-06-29 22:14:24 -07:00
topjohnwu
cacc60b1ac
Migrate to Apache commons-compress
...
Close #8121
2024-06-29 22:11:02 -07:00
topjohnwu
52063b3652
Update to Kotlin 2.0.0
2024-06-29 17:04:40 -07:00
topjohnwu
85a4eaff59
Release new canary build
2024-06-28 16:16:41 -07:00
topjohnwu
45fa1fce70
Update libsu
2024-06-28 15:45:40 -07:00
loselarry
2112c916f5
chore: remove repetitive word
...
Signed-off-by: loselarry <bikangning@yeah.net >
2024-06-22 19:17:20 -07:00
LoveSy
d6e159bff9
Use pidfd in more senarios
2024-06-22 19:16:58 -07:00
LoveSy
2f710a564f
allow more -v for build.py for more verbose output
2024-06-22 19:16:37 -07:00
Fontan030
27cfc4945c
Kazakh translation
2024-06-22 18:53:14 -07:00
eklerismunir
7cdada92c8
Improve azerbaijani locales and add the missing strings
2024-06-22 18:52:59 -07:00
topjohnwu
8f1e57d4f9
16k pages on x64 is broken
2024-06-22 18:51:44 -07:00
topjohnwu
8178666b49
Add 16k page testing in CI
2024-06-21 03:13:16 -07:00
topjohnwu
313532dcaa
Disable verbose output by default
2024-06-21 02:45:48 -07:00
topjohnwu
2f8f3dc266
Add new test cases
2024-06-20 21:39:30 -07:00
topjohnwu
df6ada5ce3
Update avd_test to support custom type
2024-06-20 18:25:49 -07:00
topjohnwu
a89b9e6af1
Support 16K page size
2024-06-18 22:04:53 -07:00
topjohnwu
23ed275614
Update to ONDK r27.2
2024-06-18 14:34:30 -07:00
topjohnwu
cfd1e0cf22
Update libsu and dependencies
2024-06-18 11:26:18 -07:00
topjohnwu
eb400f19b1
Support Python 3.12+
2024-06-18 03:36:16 -07:00
LoveSy
19f15f16f6
Use icf to further minimize binary size
2024-06-10 14:47:26 -07:00
topjohnwu
e158cfddfa
Update system_properties
2024-06-07 13:51:24 -07:00
pndwal
d0cf93a08d
Fix typos install.md
2024-06-06 21:12:18 -07:00
LoveSy
08ad0e74dd
Upgrade deps
...
Co-authored-by: vvb2060 <vvb2060@gmail.com >
2024-06-06 21:11:52 -07:00
topjohnwu
722374a024
Update system_properties
2024-06-05 18:42:30 -07:00
LoveSy
c6f0762510
Use pidfd_open for setns
...
which is more efficient on newer kernel
2024-05-20 03:26:55 +08:00
LoveSy
941a363c5a
Support waiting on non-exist prop
2024-05-18 13:55:33 +08:00
Arbri çoçka
2afcdc64a0
Update strings.xml sq
2024-05-18 13:52:31 +08:00
VD $ VD171 @ Priv8
3c66c4bbc5
Update PORTUGUESE translation
2024-05-18 13:52:14 +08:00
VD $ VD171 @ Priv8
9f5cd5e1cc
Update PORTUGUESE translation
2024-05-18 13:52:14 +08:00
kubalav
a35f2bb73b
Update Slovak translation
2024-05-18 13:51:59 +08:00
topjohnwu
6cf00130f4
Check Magisk version instead of app version
2024-05-15 12:42:55 +08:00
topjohnwu
6c27ba6b88
Rename db entry name
2024-05-15 12:42:55 +08:00
vvb2060
dd3b9980e7
app: add safe mode config to menu
2024-05-15 12:42:55 +08:00
vvb2060
02e189a029
core: add safe mode config to db
2024-05-15 12:42:55 +08:00
topjohnwu
72b8d12ee4
Update development guide
2024-05-11 20:40:33 -07:00
topjohnwu
eed03080c1
Update to ONDK r27.1
2024-05-09 09:42:40 -07:00
LoveSy
090cb4b0f9
Upgrade AGP to 8.4.0
2024-05-09 09:42:27 -07:00
topjohnwu
6f2c76b898
Fix build script
2024-05-09 02:19:24 -07:00
topjohnwu
f61827cbec
Switch rustup_wrapper to Rust implementation
...
For better Windows portability
2024-05-09 02:19:07 -07:00
topjohnwu
3f2264f2c7
Support rustup wrapper
2024-05-09 00:34:12 -07:00
topjohnwu
c1cadf4bdc
Update build.py to use pathlib
2024-05-09 00:31:41 -07:00
Rodrigo Martínez
0e56991369
Improve and add missing strings for Spanish
2024-04-29 22:23:02 -07:00
LoveSy
4dc1c59040
add missing xz_dec_end
2024-04-29 22:22:47 -07:00
topjohnwu
33b7b8b297
Update resetprop
2024-04-26 16:42:24 -07:00
topjohnwu
e6af5ed460
Address Rust warnings
2024-04-26 16:28:46 -07:00
topjohnwu
b678afa4b6
Update to ONDK r27.0
...
Co-authored-by: LoveSy <shana@zju.edu.cn >
2024-04-26 03:09:44 -07:00
WINZORT
4bac2df4e7
Improve turkish locales and add the missing strings
2024-04-18 02:14:21 -07:00
igor
50416eee09
Improve Portuguese translation
2024-04-18 02:13:50 -07:00
igor
73cf501d33
Improve Brazilian Portuguese translation
2024-04-18 02:13:50 -07:00
Hen_Ry
d2b7907bed
Update german strings.xml
2024-04-18 02:13:28 -07:00
topjohnwu
99d5dd5ea8
Update crt0
2024-04-17 10:12:27 -07:00
cloudchamb3r
5fdb841fa8
Fix typo
...
Fix typo in values-ko/strings.xml
2024-04-17 09:18:14 -07:00
topjohnwu
7c88484d64
Fix #7988
2024-04-16 19:45:01 -07:00
topjohnwu
b22b6a4204
Refactor cpio
2024-04-10 22:46:21 -07:00
topjohnwu
2a3d34c812
Fix mkdirs
2024-04-10 22:36:47 -07:00
topjohnwu
c50ee722a1
Use memmem for finding needle in haystack
2024-04-10 14:57:44 -07:00
topjohnwu
ffc1e38e48
Add 32 bit CI
2024-04-10 02:56:23 -07:00
topjohnwu
6219d5fcbf
Update crt0 for 32 bit
2024-04-10 02:43:37 -07:00
topjohnwu
2e4440b702
Support 32-bit magiskboot
2024-04-09 19:34:14 -07:00
topjohnwu
0d9ec0931b
Code cleanup
2024-04-08 23:00:59 -07:00
vvb2060
60e8415369
Make denylist work when zygisk is disabled
...
Co-authored-by: topjohnwu <topjohnwu@gmail.com >
2024-04-08 23:00:50 -07:00
LoveSy
652a26d5d9
Fix comment of sepolicy
2024-04-03 21:03:41 -07:00
topjohnwu
f57839379a
Update RustCrypto dependencies
2024-04-03 21:03:05 -07:00
LoveSy
36bd00a046
Add p521 to magiskboot
2024-04-03 21:03:05 -07:00
topjohnwu
fb5ee86615
Install one single ABI in ramdisk
2024-03-31 22:01:22 -07:00
topjohnwu
30bf5c8448
Fix typos
2024-03-31 14:17:25 -07:00
topjohnwu
2051836a73
Remove unused code
2024-03-30 21:03:51 -07:00
topjohnwu
2cb0af1ff3
Move revert_unmount into Rust
2024-03-30 02:51:39 -07:00
topjohnwu
a1b6568226
Implement preinit related features in Rust
2024-03-28 14:11:03 -07:00
topjohnwu
1eddbfd72c
Use const_format for const strings
2024-03-26 18:03:40 -07:00
topjohnwu
21ed095601
Update crt0
2024-03-25 16:11:02 -07:00
Js0n
000a2e4d59
Upgrade AGP to 8.3.1
2024-03-22 17:02:18 -07:00
Js0n
7abe635de9
fix: AGP 8.3.X
2024-03-22 17:02:18 -07:00
topjohnwu
9a008c17ba
Optimize for binary size
2024-03-22 16:53:44 -07:00
topjohnwu
08dbf728a4
Allow platform_app to access MagiskSU
2024-03-22 16:53:44 -07:00
topjohnwu
4670f762d3
Disable debug only features
2024-03-22 16:53:44 -07:00
topjohnwu
efa49567fa
Fix parsing logic for term and sterm
2024-03-21 18:17:28 -07:00
topjohnwu
0ffc4527a7
Better error reporting
2024-03-21 15:10:34 -07:00
topjohnwu
dd9d43be96
Move sepolicy parsing error message into Rust
2024-03-21 14:07:28 -07:00
topjohnwu
865fca71a5
Optimize sepolicy rules
...
Close #7916
Co-authored-by: vvb2060 <vvb2060@gmail.com >
2024-03-21 01:51:35 -07:00
topjohnwu
6b4baa3bcd
Change a little parsing handling
2024-03-21 00:04:09 -07:00
topjohnwu
a9ee2d7d18
Fix xperm parsing logic
2024-03-20 23:13:54 -07:00
topjohnwu
d654b9cb97
Several code cleanups in sepolicy
2024-03-20 23:09:22 -07:00
LoveSy
4d2921e742
Rewrite sepolicy statement parsing in Rust
2024-03-20 10:12:23 -07:00
vvb2060
ecc74d45d1
Let magic mount optional
2024-03-19 23:21:41 -07:00
vvb2060
5de597f079
No need to unshare
2024-03-19 23:21:41 -07:00
LoveSy
156b0e67ca
No need extra tmpfs for worker
2024-03-19 23:21:41 -07:00
vvb2060
10069215f4
Rename dir name
2024-03-19 23:21:41 -07:00
LoveSy
92b305a389
Remove unnecessary mirror for magic mount
...
Mirror was previously used for accessing the original file during
magic mount when we are using a tmpfs to cover the target. However,
since we introduce atomic mount, we switch all tmpfs mount in
worker and then move to the target at once. It means that we can
still access the original file when we are constructing the tmpfs
mount point. Thus we no longer need mirror.
2024-03-19 23:21:41 -07:00
topjohnwu
d20b30c771
Update libsepol
...
Close #7915
2024-03-19 02:54:01 -07:00
topjohnwu
83209b21ff
Release new canary build
2024-03-19 00:51:07 -07:00
topjohnwu
81658d45f7
Support tar with files larger than 8GiB
...
Fix #7838
2024-03-14 16:54:46 -07:00
topjohnwu
c951b208a1
Always update stub APK when upgrade
2024-03-14 14:31:02 -07:00
topjohnwu
050a073771
Make all I/O suspendable
2024-03-12 03:24:42 -07:00
topjohnwu
21d374214f
Minor cleanup of DownloadEngine
2024-03-12 03:14:06 -07:00
LoveSy
19ea25a9d0
Upgrade AGP
2024-03-08 17:12:46 -08:00
topjohnwu
dbf6e40dfe
Ensure stub APK is expected
...
Fix #7884
2024-03-08 17:09:54 -08:00
topjohnwu
d56f4fbc90
Fix stub on API 34
2024-03-08 15:57:49 -08:00
topjohnwu
73c3d741a7
Reorganize some code
2024-03-06 18:07:01 -08:00
pndwal
2b5fc75127
Update faq.md
...
Since system Safe Mode may activate without Magisk 'Safe Mode', this clarification will prevent users from erroneously concluding either that Safe Mode doesn't work or that modules are not the issue since 'Safe Mode' was apparently triggered...
Fixes this: #4624
2024-03-06 17:48:54 -08:00
osm0sis
991802ab82
Add no decompression flag to magiskboot split
2024-03-06 16:15:30 -08:00
WindowsFan9600
7f6b5305ba
Improve Turkish language translation
...
Updated "reboot_download" string
2024-03-06 02:37:58 -08:00
canyie
825c6c4316
Reverse format template argument order
2024-03-06 01:39:16 -08:00
canyie
f00408c793
Fix zygote restart monitor
2024-03-06 01:39:16 -08:00
topjohnwu
a6ff3672af
Update crt0
2024-03-04 16:42:25 -08:00
LoveSy
2290ddeb89
Fix segfault when sepolicy.rule has empty line
2024-03-02 06:15:45 -08:00
topjohnwu
74af79ad03
Update crt0
2024-03-02 05:57:48 -08:00
LoveSy
b6c24a3a8a
No more sony init.real tricks
...
Co-authored-by: canyie <a1364259@163.com >
Co-authored-by: vvb2060 <vvb2060@gmail.com >
2024-02-29 23:40:00 -08:00
LoveSy
a8c2ae223a
Avoid hexpatch /init for 2SI when possible
...
Previous we hexpatch /init from /system/bin/init to /data/magiskinit
to redirect the second stage init. However, some devices like sony
has /init that does not directly invoke /system/bin/init, and thus
the hexpatch fails.
In this patch, we further make use of AOSP `SwitchRoot` to help us
bind mount /data/magisk to /system/bin/init after `SwitchRoot`.
Two important assumption about 2SI are i) that the second stage init
is always /system/bin/init and ii) that the /sdcard (path after
`SwitchRoot`) is always a symlink to `/storage/self/primary`. When
these assumptions hold, during first stage init (before `SwitchRoot`)
we can bind mount magiskinit to /sdcard, and create a symlink
/storage/self/primary to /system/system/bin/init. By these steps,
during `SwitchRoot`, AOSP init will try to mount move /sdcard to
/system/sdcard. And /system/sdcard is symlink to /storage/self/primary,
it will try to mount move /sdcard to /storage/self/primary. And
/storage/self/primary in ramfs is now a symlink that points to
/system/system/bin/init, thus AOSP will try to mount move /sdcard
(which is a bind mount to magiskinit) to /system/system/bin/init.
After chroot done by AOSP init, we then have a magiskinit bind mount
on /system/bin/init, which is the second stage init.
An edge case is that some devices (like meizu) use 2SI but
does not switch root. In this case, they must already have a /sdcard
in the ramfs, thus we can check if /sdcard exists and fallback to
hexpatch.
2024-02-29 23:40:00 -08:00
topjohnwu
953d44302c
Remove ancient NDK binaries
2024-02-29 23:26:58 -08:00
topjohnwu
24e46a5971
Build magiskboot with crt0
2024-02-29 02:36:05 -08:00
topjohnwu
b1297c4192
Less usage of C stdio
2024-02-28 15:52:03 -08:00
topjohnwu
9ae328fd84
Further reduce code size
2024-02-28 11:19:56 -08:00
topjohnwu
625a1d6f44
Remove seek support from streams
2024-02-28 11:07:53 -08:00
topjohnwu
987e5f5413
Address clippy warnings
2024-02-27 21:03:34 -08:00
topjohnwu
715284b70d
Reorganize code
2024-02-27 18:14:30 -08:00
LoveSy
62fc7868ac
Use self implemented parse_mount_info
2024-02-27 17:03:22 -08:00
topjohnwu
1a70796339
Replace all parse_mount_info usage with Rust
2024-02-27 03:49:17 -08:00
topjohnwu
af6965eefa
Update init logging implementation
...
Use less std::fs
2024-02-26 17:49:11 -08:00
topjohnwu
8f7d2e38f7
Make crt0 an external submodule
2024-02-26 17:34:17 -08:00
topjohnwu
be433fa667
Use Rust for formatting
...
The fprintf implementation included in crt0 is too rudimental
2024-02-26 00:26:23 -08:00
topjohnwu
0ccd6e7381
Fix fread and fwrite implementation
2024-02-25 23:20:30 -08:00
topjohnwu
907bbbda41
Remove usage of patched static lib
2024-02-25 22:11:34 -08:00
topjohnwu
4393bc077d
Implement string routines
2024-02-25 21:12:19 -08:00
topjohnwu
365b373480
Make it easy to build without crt0
2024-02-24 22:32:22 -08:00
topjohnwu
47e6dd286d
Minor fixes
2024-02-24 22:00:09 -08:00
topjohnwu
0dbaf52566
Make all platforms build properly
2024-02-24 05:10:54 -08:00
topjohnwu
66f49dfab5
Remove unnecessary lock usage
2024-02-24 04:20:28 -08:00
topjohnwu
f8967e9274
Implement strerror
2024-02-24 04:02:46 -08:00
topjohnwu
a4f008fde5
Reorganize files
2024-02-24 03:41:22 -08:00
topjohnwu
e9980c778b
Implement stub functions
2024-02-24 03:41:03 -08:00
topjohnwu
06b6fb0c33
Add setenv
2024-02-24 03:27:09 -08:00
topjohnwu
38cb3d4105
Add dirent implementation
2024-02-24 03:26:53 -08:00
topjohnwu
db99caf258
Use execve directly
2024-02-24 01:47:11 -08:00
topjohnwu
39dbffadfe
Complete stdio
2024-02-24 01:28:58 -08:00
topjohnwu
b7505c3c9c
Remove fopen usage in magiskinit
2024-02-24 00:45:07 -08:00
topjohnwu
3185e5a7ca
Introduce string/mem functions
2024-02-23 23:56:31 -08:00
topjohnwu
e0cbe28711
Add the generic syscall function
2024-02-23 18:41:39 -08:00
topjohnwu
66cee19cea
Add printf and sscanf family
2024-02-23 17:44:12 -08:00
topjohnwu
2ec29ade79
Add all missing syscalls
2024-02-23 14:35:12 -08:00
topjohnwu
c865d4e187
Add memory allocator
2024-02-22 21:22:27 -08:00
topjohnwu
a42a0a53ce
Declare more symbols
2024-02-22 21:22:27 -08:00
topjohnwu
6d79de7d71
Initial crt0 implementation
...
Builds but cannot link, missing a lot of symbols
2024-02-22 21:22:27 -08:00
topjohnwu
7e9abe6e90
Update ONDK
2024-02-22 20:58:40 -08:00
残页
4d5510be4f
Prompt users to use reboot button in System Updates
...
So the update engine can write verify info of partitions which fixes bootloop on newer Pixel devices
2024-02-19 02:14:12 -08:00
topjohnwu
b04e1394c0
Update README
2024-02-07 14:39:53 -08:00
topjohnwu
2aa923191e
Rename DownloadManager to DownloadEngine
...
Also add some documentation
2024-02-06 17:54:15 -08:00
topjohnwu
4bf1c74164
Disable foreground service on API 34+
2024-02-06 17:29:42 -08:00
topjohnwu
472c7878b2
Update AGP
2024-02-06 17:04:48 -08:00
topjohnwu
38ad871e33
Use user-initiated jobs for download tasks on API 34+
2024-02-06 17:04:39 -08:00
topjohnwu
c5d34670c4
Isolate download logic from service lifecycle
2024-02-06 00:56:14 -08:00
topjohnwu
154121f3dd
Release new canary build
2024-02-02 23:51:35 -08:00
topjohnwu
3d91a561fe
Update README
2024-02-02 23:35:14 -08:00