RL;DR: If you are a user of Android 7~10, use Legacy
; If not, use Modern
.
Currently, we have two channel (Stable
Channel and Preview
Channel), and two distinct Variants:
Modern
Legacy
We make this distinction mostly for bypass Scope Storage for Android 10.
Target on latest SDK, and declare hasFragileUserData
true (supporting uninstalling without removing data).
Target on SDK 28 (Android 9), to bypass Scope Storage introduced in Android 10
(especially helpful for Android 10 users since Scope Storage could not be escaped in this version).
Also, it declares hasFragileUserData
false, to solve the problem of difficult uninstalling1, due to Installer(uninstaller) crashed on Android 10
with physical SD card.
See also Development Guild $ Build Variants