Commit Graph

73 Commits

Author SHA1 Message Date
vvb2060 110dd4a8b9 Update dependencies 2025-01-19 11:55:44 +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 10cd13bf80 Update ONDK r28.1 2024-12-09 18:26:39 -08:00
topjohnwu b32d7bfafd Update gradle version 2024-11-21 21:05:35 -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
topjohnwu 44fb7dbcbe Update Busybox
Fix #8403
2024-10-06 01:47:13 -07:00
LoveSy a9f8c20703 Upgrade AGP 2024-09-05 21:50:56 -07:00
vvb2060 dcd3bc58a3 app: target api 35 2024-09-05 21:50:46 -07:00
topjohnwu c578cccfd5 Update to ONDK r27.4 2024-08-11 04:16:19 -07:00
topjohnwu 1539cfe888 Support setting custom ABI list
Also stop building riscv64 by default
2024-08-01 14:33:08 -07:00
topjohnwu 33aebb5976 Stop embedding executables 2024-07-24 22:49:48 -07:00
topjohnwu ef81cdab4f Prebuild Busybox
Prebuild with tools in ndk-box-kitchen
2024-07-17 02:58:31 -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
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 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
LoveSy a07b9315a5 Add riscv64 support 2024-07-02 14:34:22 -07:00
topjohnwu 59f40d5fe5 Move manager.sh to app_functions.sh 2024-07-01 18:42:05 -07:00
topjohnwu 23ed275614 Update to ONDK r27.2 2024-06-18 14:34:30 -07:00
LoveSy 08ad0e74dd Upgrade deps
Co-authored-by: vvb2060 <vvb2060@gmail.com>
2024-06-06 21:11:52 -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
topjohnwu fb5ee86615 Install one single ABI in ramdisk 2024-03-31 22:01:22 -07:00
Js0n 7abe635de9 fix: AGP 8.3.X 2024-03-22 17:02:18 -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 7e9abe6e90 Update ONDK 2024-02-22 20:58:40 -08:00
LoveSy d47e70cfaa Fix native symbol strips
`ndkVersion` is also needed by app for striping native symbols.
Set it in `setupCommon` instead.
2023-12-04 00:37:09 +08:00
topjohnwu 28770b9a32 Support baseline profiles 2023-10-26 15:56:51 -07:00
vvb2060 09bb2fe8dc Update dependencies 2023-10-25 14:58:02 -07:00
LoveSy 877aeb66cb Upgrade to Gradle 8.3 2023-09-14 13:16:59 -07:00
topjohnwu 93876b5fd3 Update dependencies, AGP, and SDK level 2023-08-11 09:38:59 -07:00
topjohnwu f33343b4e6 Remove unused code and logic 2023-07-17 18:58:48 -07:00
topjohnwu 468f3efb13 Update dependencies 2023-04-13 14:19:34 -07:00
LoveSy e48afff5e8 Compress jniLibs 2023-04-01 01:54:10 -07:00
LoveSy 3921e9cb1b Fix release build 2023-03-31 00:06:55 -07:00
topjohnwu af054e4e31 Bump minSdk to 23 2023-03-17 04:24:26 -07:00
LoveSy 4af72324f4 Fix gradle cache 2023-03-03 02:39:22 -08:00
topjohnwu 2717feac21 Fix stub APK building in app 2023-03-02 21:27:48 -08:00
topjohnwu 8adf27859d Build script adjustments 2023-03-02 20:32:46 -08:00
LoveSy 307cf87215 Fix build script 2023-03-02 20:32:46 -08:00
vvb2060 5eb774a2ad Fix typo 2023-03-02 02:05:38 -08:00
LoveSy 594c304634 Fix release build 2023-02-26 22:35:20 -08:00
vvb2060 5520f0fbf7 Add stub version to apk comment 2023-02-26 14:23:02 -08:00
vvb2060 c1909d520b Fix gradle build cache 2023-02-20 01:23:56 -08:00
topjohnwu 9b1e173373 Update AGP 2023-02-20 01:03:35 -08:00
LoveSy 4ba365565f Upgrade gradle 2023-02-20 00:08:23 -08:00
topjohnwu 7ce4bd3330 Copy stub APK into output directory 2022-12-26 16:07:04 -08:00