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(); } }
.setPath("system/system.apk") .setTargeting(ApkTargeting.getDefaultInstance()) .setSystemApkMetadata( SystemApkMetadata.newBuilder() .setSystemApkType(SystemApkType.SYSTEM) .setPath("system/system.apk") .setTargeting(ApkTargeting.getDefaultInstance()) .setSystemApkMetadata( SystemApkMetadata.newBuilder() .setSystemApkType(SystemApkType.SYSTEM_STUB) .setPath("system/system.apk.gz") .setTargeting(ApkTargeting.getDefaultInstance()) .setSystemApkMetadata( SystemApkMetadata.newBuilder() .setSystemApkType(SystemApkType.SYSTEM_COMPRESSED)
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(); }