public static ApkSet createSystemApkSet(ApkTargeting apkTargeting, Path apkPath) { // Note: System APK is represented as a module named "base". return ApkSet.newBuilder() .setModuleMetadata(ModuleMetadata.newBuilder().setName("base")) .addApkDescription( ApkDescription.newBuilder() .setPath(apkPath.toString()) .setTargeting(apkTargeting) .setSystemApkMetadata( SystemApkMetadata.newBuilder() .addFusedModuleName("base") .setSystemApkType(SystemApkType.SYSTEM))) .build(); } }
.setSystemApkMetadata( SystemApkMetadata.newBuilder() .setSystemApkType(SystemApkType.SYSTEM) .addAllFusedModuleName(ImmutableList.of("base", "fused"))) .build()); .setSystemApkMetadata( SystemApkMetadata.newBuilder() .setSystemApkType(SystemApkType.SYSTEM_STUB) .addAllFusedModuleName(ImmutableList.of("base", "fused"))) .build(), .setSystemApkMetadata( SystemApkMetadata.newBuilder() .setSystemApkType(SystemApkType.SYSTEM_COMPRESSED) .addAllFusedModuleName(ImmutableList.of("base", "fused"))) .build());
private static ApkDescription createSystemApkDescription( ModuleSplit systemSplit, ZipPath apkPath, SystemApkMetadata.SystemApkType apkType) { return ApkDescription.newBuilder() .setPath(apkPath.toString()) .setSystemApkMetadata( SystemApkMetadata.newBuilder() .addAllFusedModuleName(systemSplit.getAndroidManifest().getFusedModuleNames()) .setSystemApkType(apkType)) .setTargeting(systemSplit.getApkTargeting()) .build(); }