Search in sources :

Example 1 with DexByteCodeConverterHook

use of com.taobao.android.builder.hook.dex.DexByteCodeConverterHook 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);
    }
}
Also used : DexingType(com.android.builder.dexing.DexingType) ExtraModelInfo(com.android.build.gradle.internal.ExtraModelInfo) DexByteCodeConverterHook(com.taobao.android.builder.hook.dex.DexByteCodeConverterHook) TransformTask(com.android.build.gradle.internal.pipeline.TransformTask) DefaultDexOptions(com.android.builder.core.DefaultDexOptions) GradleJavaProcessExecutor(com.android.build.gradle.internal.process.GradleJavaProcessExecutor)

Aggregations

ExtraModelInfo (com.android.build.gradle.internal.ExtraModelInfo)1 TransformTask (com.android.build.gradle.internal.pipeline.TransformTask)1 GradleJavaProcessExecutor (com.android.build.gradle.internal.process.GradleJavaProcessExecutor)1 DefaultDexOptions (com.android.builder.core.DefaultDexOptions)1 DexingType (com.android.builder.dexing.DexingType)1 DexByteCodeConverterHook (com.taobao.android.builder.hook.dex.DexByteCodeConverterHook)1