moduleSplit .getApkTargeting() .toBuilder() .setMultiAbiTargeting( MultiAbiTargeting.newBuilder()
: split .getApkTargeting() .toBuilder() .setLanguageTargeting(
private ApkTargeting generateTargeting(ApkTargeting splitTargeting, T extraTargeting) { if (isDefaultTargeting(extraTargeting)) { return splitTargeting; } return splitTargeting.toBuilder().mergeFrom(targetingSetter.apply(extraTargeting)).build(); }
moduleSplit .getApkTargeting() .toBuilder() .setAbiTargeting( AbiTargeting.newBuilder()
split .getApkTargeting() .toBuilder() .setScreenDensityTargeting( ScreenDensityTargeting.newBuilder()
/** * Adds L+ targeting to the Apk targeting of module split. If SDK targeting already exists, it's * not overridden but checked that it targets no L- devices. */ private ModuleSplit addLPlusApkTargeting(ModuleSplit split) { if (split.getApkTargeting().hasSdkVersionTargeting()) { checkState( split.getApkTargeting().getSdkVersionTargeting().getValue(0).getMin().getValue() >= ANDROID_L_API_VERSION, "Module Split should target SDK versions above L."); return split; } return split .toBuilder() .setApkTargeting( split .getApkTargeting() .toBuilder() .setSdkVersionTargeting( SdkVersionTargeting.newBuilder() .addValue( SdkVersion.newBuilder() .setMin(Int32Value.newBuilder().setValue(ANDROID_L_API_VERSION)))) .build()) .build(); }
public ModuleSplit build() { ModuleSplit moduleSplit = autoBuild(); if (moduleSplit.isMasterSplit()) { checkState( moduleSplit .getApkTargeting() .toBuilder() .clearSdkVersionTargeting() .build() .equals(ApkTargeting.getDefaultInstance()), "Master split cannot have any targeting other than SDK version."); } return moduleSplit; } }
private static void checkHasOnlyAbiAndDensityTargeting(ApkTargeting targeting) { ApkTargeting targetingWithoutAbiAndDensity = targeting.toBuilder().clearAbiTargeting().clearScreenDensityTargeting().build(); if (!targetingWithoutAbiAndDensity.equals(ApkTargeting.getDefaultInstance())) { throw CommandExecutionException.builder() .withMessage("Expecting only ABI and screen density targeting, got '%s'.", targeting) .build(); } }