use of com.android.builder.dexing.DexingType in project atlas by alibaba.
the class TransformReplacer method replaceDexMerge.
public void replaceDexMerge(BaseVariantOutput vod) {
List<TransformTask> list = TransformManager.findTransformTaskByTransformType(variantContext, DexMergerTransform.class);
DexingType dexingType = variantContext.getScope().getDexingType();
if (variantContext.getScope().getInstantRunBuildContext().isInInstantRunMode() && variantContext.getVariantConfiguration().getMinSdkVersion().getApiLevel() < 21) {
dexingType = DexingType.LEGACY_MULTIDEX;
}
DexMergerTool dexMergerTool = variantContext.getScope().getDexMerger();
int sdkVerision = variantContext.getScope().getMinSdkVersion().getFeatureLevel();
boolean debug = variantContext.getScope().getVariantConfiguration().getBuildType().isDebuggable();
ErrorReporter errorReporter = variantContext.getScope().getGlobalScope().getAndroidBuilder().getErrorReporter();
for (TransformTask transformTask : list) {
AtlasDexMergerTransform dexMergerTransform = new AtlasDexMergerTransform(variantContext.getAppVariantOutputContext(ApkDataUtils.get(vod)), dexingType, dexingType == DexingType.LEGACY_MULTIDEX ? variantContext.getProject().files(variantContext.getScope().getMainDexListFile()) : null, errorReporter, dexMergerTool, sdkVerision, debug);
ReflectUtils.updateField(transformTask, "transform", dexMergerTransform);
}
}
use of com.android.builder.dexing.DexingType in project atlas by alibaba.
the class TransformReplacer method replaceDexTransform.
public void replaceDexTransform(AppVariantContext appVariantContext, BaseVariantOutput vod) {
List<TransformTask> baseTransforms = TransformManager.findTransformTaskByTransformType(variantContext, DexTransform.class);
DefaultDexOptions dexOptions = appVariantContext.getAppExtension().getDexOptions();
DexingType dexingType = appVariantContext.getScope().getDexingType();
DexByteCodeConverterHook dexByteCodeConverterHook = new DexByteCodeConverterHook(variantContext, variantContext.getAppVariantOutputContext(ApkDataUtils.get(vod)), LoggerWrapper.getLogger(DexByteCodeConverterHook.class), appVariantContext.getScope().getGlobalScope().getAndroidBuilder().getTargetInfo(), new GradleJavaProcessExecutor(appVariantContext.getProject()), appVariantContext.getProject().getLogger().isEnabled(LogLevel.INFO), new ExtraModelInfo(appVariantContext.getScope().getGlobalScope().getProjectOptions(), appVariantContext.getProject().getLogger()));
for (TransformTask transformTask : baseTransforms) {
DexTransform newTransform = new DexTransform(dexOptions, dexingType, false, appVariantContext.getProject().files(variantContext.getScope().getMainDexListFile()), verifyNotNull(appVariantContext.getScope().getGlobalScope().getAndroidBuilder().getTargetInfo(), "Target Info not set."), dexByteCodeConverterHook, appVariantContext.getScope().getGlobalScope().getAndroidBuilder().getErrorReporter(), variantContext.getScope().getMinSdkVersion().getFeatureLevel());
ReflectUtils.updateField(transformTask, "transform", newTransform);
}
}
Aggregations