@VisibleForTesting ApkDescription writeToDiskInternal( ModuleSplit standaloneSplit, Path outputDirectory, ZipPath apkPath) { apkSerializerHelper.writeToZipFile( standaloneSplit, outputDirectory.resolve(apkPath.toString())); return ApkDescription.newBuilder() .setPath(apkPath.toString()) .setStandaloneApkMetadata( StandaloneApkMetadata.newBuilder() .addAllFusedModuleName(standaloneSplit.getAndroidManifest().getFusedModuleNames())) .setTargeting(standaloneSplit.getApkTargeting()) .build(); }
public static ApkSet createStandaloneApkSet(ApkTargeting apkTargeting, Path apkPath) { // Note: Standalone APK is represented as a module named "base". return ApkSet.newBuilder() .setModuleMetadata(ModuleMetadata.newBuilder().setName("base")) .addApkDescription( ApkDescription.newBuilder() .setPath(apkPath.toString()) .setTargeting(apkTargeting) .setStandaloneApkMetadata( StandaloneApkMetadata.newBuilder().addFusedModuleName("base"))) .build(); }
public static Variant standaloneVariant( VariantTargeting variantTargeting, ApkTargeting apkTargeting, ZipPath apkPath) { // A standalone variant has only a single APK with module named "base". return createVariant( variantTargeting, ApkSet.newBuilder() .setModuleMetadata(ModuleMetadata.newBuilder().setName("base")) .addApkDescription( ApkDescription.newBuilder() .setTargeting(apkTargeting) .setPath(apkPath.toString()) // Contents of the standalone APK metadata is not important for these tests // as long as the field is set. .setStandaloneApkMetadata(StandaloneApkMetadata.getDefaultInstance())) .build()); }