Commit Graph
51 Commits
Author SHA1 Message Date
Trevi AwaterandClaude Opus 5 fb361f0f4c Obfuscate the Android DEX with R8
Mirrors lojack-connect. .NET for Android runs no DEX shrinker by default, and
even with AndroidLinkTool=r8 the ProGuard config the SDK generates hardcodes
-dontobfuscate -- a flag nothing later in the config list can undo -- so Play
Console's "DEX code optimization" report scores obfuscation at ~1%.

_AndroidObfuscateDex drops the SDK's proguard_xamarin.cfg from R8's --pg-conf
list and substitutes a copy without that line, regenerating the
-printmapping/-keepattributes tail the SDK would have appended (absolute path:
R8 resolves a relative -printmapping against the config file's own directory).
49.8% of DEX classes are now renamed.

proguard.cfg carries the keeps the generated rules miss: classes the .NET
runtime resolves by name from native code (net.dot.android.**), and public and
protected fields, which the trimmer covers for methods only. The target also
caches aapt2's keep rules outside FileWrites -- the SDK adds them to
@(ProguardConfiguration) inside _CreateBaseApkWithAapt2 and registers the file
as a FileWrite, so an incremental Release build that skips the resource link
loses them and ships an APK that dies inflating FitWindowsFrameLayout.

Verified on a Pixel 9 emulator (API 36) with the obfuscated Release APK:
launch, connection list, Add Connection form, and a Bolt connection attempt
that exercises the network/TLS stack and surfaces the driver's error dialog.

The AAB carries mapping.txt, so Play retraces Java stacks itself.

Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
2026-09-17 22:58:36 +02:00
Trevi Awater c5403313d9 Update README.md 2026-04-02 13:26:29 +02:00
Trevi Awater ea24c9eed5 updated screenshots 2026-04-02 13:24:11 +02:00
Trevi Awater edeac88a92 Merge branch 'main' of github.com:awatertrevi/xamarin-neo4j 2026-04-02 12:44:21 +02:00
Trevi Awater 1785fac843 fixes ios 2026-04-02 12:44:17 +02:00
Trevi Awater 66604f72a5 Merge branch 'main' of github.com:awatertrevi/xamarin-neo4j 2026-04-02 12:26:12 +02:00
Trevi Awater b709c7b5ce fix 2026-04-02 12:26:07 +02:00
Trevi Awater bf88052d53 fix 2026-04-01 17:51:23 +02:00
Trevi Awater 6235e54d56 cleanup 2026-03-31 13:44:03 +02:00
Trevi Awater 171c2e40c0 fix 2026-03-31 13:19:21 +02:00
Trevi Awater 4407d0883c fix 2026-03-31 13:13:57 +02:00
Trevi Awater fd5426385e fix 2026-03-31 12:50:07 +02:00
Trevi Awater e2e5f7d3b1 landing page 2026-03-31 12:46:39 +02:00
Trevi Awater 2c68418057 fixes graph view 2026-03-31 09:55:47 +02:00
Trevi Awater a4c515f16b encryption flag 2026-03-31 08:43:07 +02:00
Trevi Awater 6c4b8c37e6 deploy app 2026-03-30 22:51:52 +02:00
Trevi Awater 886b5738ef fix 2026-03-30 22:49:46 +02:00
Trevi Awater 4526204464 build numbers 2026-03-30 22:43:00 +02:00
Trevi Awater 89abe0a2b3 fix 2026-03-30 22:29:37 +02:00
Trevi Awater ef5fad97e8 sigh 2026-03-30 22:27:05 +02:00
Trevi Awater 27d05af112 sigh 2026-03-30 22:24:31 +02:00
Trevi Awater e458ec68f3 fix 2026-03-30 22:23:22 +02:00
Trevi Awater 5382c6726f fix 2026-03-30 22:20:15 +02:00
Trevi Awater 207362939c fix 2026-03-30 22:18:54 +02:00
Trevi Awater 48cb1001a1 fix 2026-03-30 22:15:43 +02:00
Trevi Awater b7284f9741 fix 2026-03-30 22:11:30 +02:00
Trevi Awater efadb528ee fix 2026-03-30 22:06:27 +02:00
Trevi Awater 9729d71728 fix 2026-03-30 22:03:48 +02:00
Trevi Awater c54332cc27 testflight 2026-03-30 21:54:52 +02:00
Trevi Awater 21a21640e9 fixes 2026-03-30 21:39:25 +02:00
Trevi Awater 3f87a65c14 Fixes 2026-03-30 21:37:04 +02:00
Trevi Awater aa39ac057b publish test resutsl 2026-03-30 21:34:21 +02:00
Trevi Awater 0585ce0837 remove site 2026-03-30 21:32:34 +02:00
Trevi Awater d4949c7503 integration tests 2026-03-30 21:31:01 +02:00
Trevi Awater 3473744e71 .NET MAUI upgrade 2026-03-30 20:58:37 +02:00
Trevi Awater 984bfce33a site 2025-10-29 08:09:01 +01:00
Trevi Awater b6d2d5c0fa README 2025-10-29 08:00:33 +01:00
Trevi Awater 6ee1e09671 Install gitleaks 2024-11-21 10:51:46 +01:00
Trevi Awater b92331d904 Small fix 2024-03-04 09:29:04 +01:00
Trevi Awater 55d6d6060e Unit tests 2024-03-02 22:53:19 +01:00
Trevi Awater b009222333 Fixes 2024-03-02 21:46:37 +01:00
Trevi Awater cd30e482dd Syntax highlighting + command palette 2024-03-02 21:22:29 +01:00
Trevi Awater eb7154d897 Fix 2024-03-02 08:34:22 +01:00
Trevi Awater aa6fa75136 Fixes 2022-06-13 15:51:05 +02:00
Trevi Awater 9e6b1136ea wrapping up 2022-03-15 00:48:10 +01:00
Trevi Awater 2a0f83a397 Pretty much finished the app 2022-01-14 01:53:46 +01:00
Trevi Awater 02a5af9eec icons + new name: Pocket Graph 2022-01-11 00:37:33 +01:00
Trevi Awater dd0be1e969 Fixed error handling 2022-01-11 00:22:50 +01:00
Trevi Awater bf2022e614 graph visualization 2022-01-11 00:07:13 +01:00
Trevi Awater dc8b43574f connection string management + listing databases 2021-11-13 16:58:44 +01:00
Trevi Awater 97c4a8e8d5 Initial commmit 2021-11-13 08:34:28 +01:00