GSI 分类¶
本文将解释应如何在 GSI 的诸多分类 (arm64/a64/bgn/bvn/bgs/vndklite) 中做出选择。
网上流传的 GSI 的命名通常遵循以下模式。
{arm|a64|arm64}_{a|b}{v|g}{N|S}-{vndklite|secure|personal}
在解释每个术语之前,我建议先安装 Treble Check 应用程序,因为它所显示的信息将作为本文的参考点。
{arm|a64|arm64}¶
在 Treble Check 中查看 CPU 体系架构部分。可见,我的设备所使用的CPU是 64 位 ARM 。所以我的设备应当选用标记为 "arm64" 的 GSI 。
{a|b}¶
请查看 System-as-root 部分。如果显示支持,则设备的分区类型是 AB ,但为了方便起见,开发者往往将 GSI 标记为 "b" 。如果显示不支持,那么设备的分区类型是 Aonly ,此时选择被标记为 "a" 的 GSI 。可见,我的设备支持 System-as-root ,所以我的设备应当选用标记为 "b" 的 GSI 。
{v|g}¶
这里的 "v" 代表 Vanilla,这意味着没有 GApps [Google Apps、软件包、服务和框架] 。而 G 表示此 GSI 内置 Google Apps 。这完全是个人选择,如果你需要 Google Apps,那么请选择 "g" 版本。
{N|S}¶
"N" 表示此 GSI 没有超级用户。换句话说,这是一个没有 root 权限的 GSI 。而 "S" 表示 GSI 内置了超级用户。尽管我更喜欢 root 我的设备,但是我通常会下载 "N" 版本,因为我更喜欢自行 root 设备而不是使用内置的超级用户。和前面一样,这完全取决于个人。
{vndklite|secure|personal}¶
你必须在 {vndklite|secure|personal} 中作选择。首先,转到 Treble Check 应用程序并查看 Project Treble 部分。在这里可以看到设备是否支持 VNDK 。从技术上讲, "vndklite" 适用于 VNDKLite 设备或非 vndklite 设备上的可读写系统。可见,我的设备支持 Project Treble ,所以我的设备应当选用标记为 "vndklite" 的 GSI 。
题外话¶
应该下载 vndklite GSI 还是非 vndklite GSI ?¶
这可能是人们最多的疑问。其实只需要安装 Treble Info 应用程序,转到 "详细" 页,并查看 "链接器命名空间隔离" 显示的信息。如果显示 "VNDK 处于非 Lite 模式" ,则必须下载非 vndklite GSI 。另一方面,如果如果显示 "VNDK 处于 Lite 模式" ,则下载 vndklite GSI 。