topjohnwu
87192bd469
Fix compilation database generation when sccache is enabled
2026-04-20 01:17:00 -07: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
9035a94804
Make build.py generate flags.prop for app projects
...
Reduce logic duplication in build.py and app/buildSrc. The ground truth
is always build.py, so dump all information into a file so the gradle
projects are always in sync with the rest of the project.
2026-03-18 01:49:38 -07:00
topjohnwu
5cb025e7cc
Setup CI for app-ng
2026-03-17 20:04:47 -07:00
topjohnwu
62c6ab8c0a
Move apk module to apk-ng
...
In preparation to preserve the existing old apk module codebase so
that the old implementation can live side-by-side the next generation.
2026-03-16 03:25:47 -07:00
topjohnwu
6bb48df712
Go through rustup proxy if possible
2026-03-11 00:43:18 -07:00
topjohnwu
9ee6a6b3d7
Update to ONDK r29.5
2026-02-06 16:32:25 -08:00
topjohnwu
0bbc736051
Properly set abiList with config.prop for APK
2025-12-16 02:38:27 -08:00
topjohnwu
8734423cb0
Update to ONDK r29.4
2025-12-12 11:42:45 -08:00
topjohnwu
3a60ef2039
Update to ONDK r29.3
2025-11-21 13:28:46 -08:00
topjohnwu
f9a8052583
Improve build.py
...
Close #8988
2025-09-26 17:00:58 -07:00
topjohnwu
3903f42cf6
Support specify ABI for clippy
2025-09-08 02:23:49 -07:00
topjohnwu
484d53ef7e
Update to ONDK r29.2
2025-08-28 16:15:59 -07:00
topjohnwu
690a5ac033
Update to ONDK r28.5
2025-06-30 12:15:43 -07:00
topjohnwu
1460317ebd
Cleanup C++ headers
2025-06-16 02:25:38 -07:00
topjohnwu
a834e72b71
Use sccache for clippy
2025-05-30 11:11:45 -07:00
topjohnwu
8c79d66b7b
Update ONDK r28.4
2025-05-30 01:53:26 -07:00
topjohnwu
8b7fb6cdde
Improve scripts
2025-05-15 02:56:36 -07:00
topjohnwu
0a86916d3a
Fix cleanup
2025-05-14 01:23:54 -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
5dd7a7d804
Better ABI support for build.py
2025-05-13 14:35:57 -07:00
topjohnwu
00c1b36837
Support generating files for C++ IDE
2025-05-07 22:18:44 -07:00
topjohnwu
1fa318dc8c
Use Rust elf-cleaner implementation
2025-04-01 18:32:54 -07:00
topjohnwu
1523ed9f78
Always go through rustup proxies
2025-04-01 10:01:35 -07:00
topjohnwu
a396abf565
Minor changes
...
[skip ci]
2025-03-22 01:16:51 -07:00
topjohnwu
28d86a3454
Update rustup_wrapper
...
[skip ci]
2025-03-06 16:12:35 -08:00
topjohnwu
2b47d47215
Also run clippy with release mode
...
[skip ci]
2025-03-02 23:14:46 -08:00
topjohnwu
494615d9a0
Support ./build.py emulator with an APK argument
2025-02-28 17:17:24 -08:00
topjohnwu
18cb659ff3
Run clippy through build.py
2025-02-17 01:31:59 -08:00
topjohnwu
7098248c64
Add more functionality into Rust
2025-01-11 00:11:48 +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
9112a3a4f5
Introduce instrumentation tests
2024-12-13 12:07:42 -08: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
topjohnwu
33aebb5976
Stop embedding executables
2024-07-24 22:49:48 -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
b26db8cee6
Switch over to ANDROID_HOME
...
Keep ANDROID_SDK_ROOT as a fallback
2024-07-21 00:53:13 -07:00
topjohnwu
93c3d36452
Add Cuttlefish tests in CI
2024-07-20 03:10:18 -07:00
topjohnwu
659dd09723
Do not modify system-images contents when patching
2024-07-19 16:47:12 -07:00
topjohnwu
ef81cdab4f
Prebuild Busybox
...
Prebuild with tools in ndk-box-kitchen
2024-07-17 02:58:31 -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
LoveSy
a07b9315a5
Add riscv64 support
2024-07-02 14:34:22 -07:00
LoveSy
2f710a564f
allow more -v for build.py for more verbose output
2024-06-22 19:16:37 -07:00
topjohnwu
eb400f19b1
Support Python 3.12+
2024-06-18 03:36:16 -07:00