chenxumeng
chenxumeng
由于插件默认采用增量变量,当demo工程删除某个类的时候,在windows系统上面,打开apk所在的文件夹,提示: java.io.IOException: Unable to delete file: E:\android\WMRouter\demoapp\build\intermediates\transforms\WMRouter\debug\67\com\sankuai\waimai\router\demo\advanced\abtest\HomeActivityB.class at org.apache.commons.io.FileUtils.forceDelete(FileUtils.java:2400) at com.kronos.plugin.base.BaseTransform.deleteDirectory(BaseTransform.kt:163) at com.kronos.plugin.base.BaseTransform.foreachClass(BaseTransform.kt:140) at com.kronos.plugin.base.BaseTransform.startTransform(BaseTransform.kt:97) at com.sankuai.waimai.router.plugin.WMRouterTransform.transform(WMRouterTransform.java:116) at com.android.build.gradle.internal.pipeline.TransformTask$2.call(TransformTask.java:284) at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:69) at com.android.build.gradle.internal.profile.AnalyticsResourceManager.recordBlockAtExecution(AnalyticsResourceManager.kt:226) at com.android.build.gradle.internal.profile.AnalyticsService.recordBlock(AnalyticsService.kt:151) at com.android.build.gradle.internal.pipeline.TransformTask.transform(TransformTask.java:242) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)...
复现: 1. windows系统,使用Android studio 2. 工程引入WMRouter,编译成功后,用文件夹打开 xx.apk, 3. 使用cmd 的adb 命令安装apk 4. 修改代码,再次编译工程 5. 提示xxx.jar 被其他进程占用。 6. 使用window自带的资源管理器可以看到 Android studio 和Java.exe 都使用这个xx.jar 代码编译提示的: //非增量编译,先清空输出目录 if (!invocation.isIncremental()) { try { invocation.getOutputProvider().deleteAll();...