Commit Graph

187 Commits

Author SHA1 Message Date
topjohnwu e3cb5f8ddd Support setting ANDROID_STUDIO 2023-05-13 02:38:03 -07:00
topjohnwu e160e211dd Format build.py with black 2023-05-13 02:38:03 -07:00
topjohnwu af45aeb771 Extract busybox from APK for AVD 2023-05-02 16:28:02 -07:00
topjohnwu f7de649a36 Update ODNK requirement to r25.3 2023-04-29 15:12:04 -07:00
vvb2060 e9f32e4f68 Set text and background color 2023-04-25 23:00:59 -07:00
LoveSy 4ff60ef9a9 No more patching libc.a on 64bit platforms 2023-04-01 03:51:57 -07:00
LoveSy a07d4080b6 Upgrade termux-elf-cleaner to strip DT_PREINIT_ARRAY 2023-03-21 02:17:21 -07:00
topjohnwu 2285f5e888 Fix build script 2023-03-02 03:02:10 -08:00
topjohnwu 7ce4bd3330 Copy stub APK into output directory 2022-12-26 16:07:04 -08:00
vvb2060 ad0e6511e1 Stop embedding stub.apk in magiskinit 2022-12-26 16:07:04 -08:00
topjohnwu 831a398bf1 Check Python 3.8+ 2022-12-26 00:09:27 -08:00
topjohnwu d1d26f4481 Fix building individual applet 2022-08-27 05:06:28 -07:00
南宫雪珊 e6eb51551c
Fix ci text color 2022-08-22 12:51:36 -07:00
topjohnwu 9806b38d8e Introduce zygisk loader
Use a separate library for 1st stage
2022-08-19 04:49:19 -07:00
topjohnwu 2d8beabbd4 Better build script 2022-08-17 01:59:23 -07:00
topjohnwu 40aab13601 Make IDE recognize we are targeting Android 2022-08-09 14:09:39 -07:00
topjohnwu d17ed2b979 Support patching AVD with release builds 2022-08-02 03:37:04 -07:00
topjohnwu a7ab8216ce Proper build scripts 2022-07-24 05:39:14 -07:00
topjohnwu b9e89a1a2d Restructure the native module
Consolidate all code into the src folder
2022-07-23 13:51:56 -07:00
topjohnwu 8331206acb Clean only java projects when clean java 2022-07-20 11:20:03 -07:00
topjohnwu d1a35dd2ba Fix cargo builds on Windows 2022-06-30 18:12:07 -07:00
topjohnwu 26116ac414 Setup preliminary rust infrastructure 2022-06-30 14:50:21 -07:00
topjohnwu e4094c0caa Update build scripts 2022-05-30 03:47:31 -07:00
topjohnwu 351f0269ae Install stub if necessary 2022-05-19 22:54:49 -07:00
topjohnwu dc65a2b884 Introduce new debug channel 2022-05-15 01:01:54 -07:00
topjohnwu 3358eab991 Switch to use ONDK 2022-04-15 12:20:18 -07:00
topjohnwu ff2513e276 Use LD_PRELOAD to intercept sepolicy on 2SI init 2022-04-08 02:13:31 -07:00
topjohnwu fa8900be65 Use standalone magiskpolicy 2022-03-17 03:15:39 -07:00
topjohnwu ffcd093db1 Fix #5589
Close #5598
2022-03-17 02:25:31 -07:00
LoveSy c849759682 Use magiskboot to patch avd
Fix #5421
2022-02-11 00:25:07 -08:00
topjohnwu d3d28f0623 Update to NDK r23b
Credits: @yujincheng08

Close #5193
2022-01-30 07:11:51 -08:00
topjohnwu a699dab5b3 Add option to skip building for AVD commands 2022-01-20 01:42:41 -08:00
topjohnwu 20ef724fad Add new build command avd_patch 2022-01-19 05:12:11 -08:00
topjohnwu 770b28ca30 Build on API 21 headers 2021-10-20 03:17:42 -07:00
topjohnwu eca37bce38 Separate dependency and build cache 2021-09-08 01:16:26 -07:00
topjohnwu de2306bd12 Proper incremental builds
Auto generate flag.h for precise rebuilding
2021-09-07 19:35:28 -07:00
topjohnwu ca99808fd2 Update AVD support
- Support arm64 AVD images
- Support setup on Windows

 Close #4637
2021-09-07 03:03:02 -07:00
topjohnwu 5e1fba3603 Build a single APK for all ABIs 2021-05-13 00:21:04 -07:00
vvb2060 66cc9bc545 Pure 64bit support 2021-05-12 16:38:34 -07:00
topjohnwu 94ec11db58 Update snet.jar extension
The existing API key was revoked for some reason.
Release an updated extension jar with a new API key.

In addition, add some offline signature verification and change how
results are parsed to workaround some dumbass Xposed module "faking"
success results, since many users really don't know better.
2021-04-15 04:47:57 -07:00
Rikka afe3c2bc1b
Fix "rm_rf" in build.py on Windows
prebuilt/windows-x86_64/bin/libpython2.7.dll
prebuilt/windows-x86_64/lib/python2.7/config/libpython2.7.dll.a

These two files in NDK has read-only attribute on Windows, remove these files with Python will get "WindowsError: [Error 5] Access is denied". It will finally make "build.py ndk" unable to remove the "magisk" folder.

This commit add a onerror callback for "shutil.rmtree" which clear the "read-only" attribute and retry.
2021-03-13 17:51:39 -08:00
topjohnwu bf80b08b5f Fix build script 2021-03-07 04:34:06 -08:00
topjohnwu 851404205b Update NDK to r21e 2021-03-02 23:18:44 -08:00
topjohnwu 9164bf22c2 Update terminology 2021-02-23 23:56:58 -08:00
vvb2060 26b2e7dc5d Care version code changes 2021-01-30 11:58:10 -08:00
topjohnwu 6623195bd5 Cleanup scripts 2021-01-24 07:24:13 -08:00
topjohnwu ec31bb9a82 Rename scripts 2021-01-24 07:18:14 -08:00
vvb2060 963d248cc7 Rename apk to be uninstaller 2021-01-24 07:02:36 -08:00
vvb2060 06773235da Fix Windows build 2021-01-23 18:06:01 -08:00
topjohnwu ec8fffe61c Merge Magisk install zip into Magisk Manager
Distribute Magisk directly with Magisk Manager APK. The APK will
contain all required binaries and scripts for installation and
uninstallation. App versions will now align with Magisk releases.

Extra effort is spent to make the APK itself also a flashable zip that
can be used in custom recoveries, so those still prefer to install
Magisk with recoveries will not be affected with this change.

As a bonus, this makes the whole installation and uninstallation
process 100% offline. The existing Magisk Manager was not really
functional without an Internet connection, as the installation process
was highly tied to zips hosted on the server.

An additional bonus: since all binaries are now shipped as "native
libraries" of the APK, we can finally bump the target SDK version
higher than 28. The target SDK version was stuck at 28 for a long time
because newer SELinux restricts running executables from internal
storage. More details can be found here: https://github.com/termux/termux-app/issues/1072
The target SDK bump will be addressed in a future commit.

Co-authored with @vvb2060
2021-01-22 02:29:54 -08:00