问题
自从上次用Gradle打包,因为缺少ID生成器包,就改成了用Build Artifacts模式打包,效果都挺好。但在昨天开发的过程中,隐约发现直接在IDE上debug跑出来的程序不对,好像是源码没有编译到。 经过反复测试发现,只有 ReBuild 后才能运行最新的代码
打包配置信息
打包配置信息
Modules运行信息
Modules运行信息
查资料
然后去搜百度,虽然跟自己的问题不服,但是大多数问题都指向了 Class文件编译的问题.
分析
根据Class文件的提示,我就在工程目录里面找,终于在Build文件夹下发现有两个Class目录,一个是java, 一个是Kotlin. 通过对比发现.用Build Artifacts 的是会编译 java 里面的Class. 用IDE点运行是更新Kotlin里面的Class. 然后我根据项目文件的Moduels信息 发现Output path 的路径指向java 的文件夹. 我就尝试把他修改成kotlin 的文件.结果就好了.然后再Build文件夹 也只剩下一个Kotlin的目录,至此一切正常
20200926153648
20200926153939
总结
遇到问题检查Class的路径问题.很多情况下,都是路径配置问题引起的.不要动不动就怪IDE
网友评论