private AndroidInstrumentationApk( BuildRuleParams buildRuleParams, String manifest, AndroidBinaryRule apkUnderTest) { super( buildRuleParams, manifest, apkUnderTest.getTarget(), apkUnderTest.getKeystorePropertiesPath(), PackageType.INSTRUMENTED, // Do not include the classes that will already be in the classes.dex of the APK under test. ImmutableSet.<BuildRule>builder() .addAll(apkUnderTest.getBuildRulesToExcludeFromDex()) .addAll(Classpaths.getClasspathEntries(apkUnderTest.getDeps()).keySet()) .build(), // Do not split the test apk even if the tested apk is split new DexSplitMode( /* shouldSplitDex */ false, ZipSplitter.DexSplitStrategy.MAXIMIZE_PRIMARY_DEX_SIZE, DexStore.JAR), apkUnderTest.isUseAndroidProguardConfigWithOptimizations(), apkUnderTest.getProguardConfig(), apkUnderTest.isCompressResources(), apkUnderTest.getPrimaryDexSubstrings(), apkUnderTest.getResourceFilter(), apkUnderTest.getCpuFilter()); this.apkUnderTest = apkUnderTest; }