下面先上错误的Log图
/Users/sinogist/.gradle/caches/transforms-3/283c603cf8c3bd44f70452bad9046a69/transformed/jetified-bannerviewpager-3.5.11/jars/classes.jar!/META-INF/bannerview_release.kotlin_module: Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.7.1, expected version is 1.4.0.
其元数据的二进制版本为1.7.1,预期版本为1.4.0.产生该bug的原因是引用的第三方库跟插件的版本不统一所导致的。
这两个地方,要么改图一kotlin的插件版本要么修改第三方库的插件版本。
但是我的问题比较奇葩。跟同事一样的代码,他的正常运行,我之前运行也是正常的,今早一打开就一直报这个错。clearn 和 rebuild 都试过了,也对比了kotlin版本都为最新。也删除caches文件夹重新build,也都无果。
最后没办法了,只能回滚到最初的版本。插件版本为org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.61,implemention都为Android的基础库。首先升级org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.0,报错NDK at /Users/sinogist/Library/Android/sdk/ndk/21.4.7075529 did not have a s,解决办法如图
成功运行,给我了灵感。然后切到最新的分支,再次运行,再没有上述错误。成功运行。浪费了大半天的时间终于解决。到现在知道解决方法但还不知道具体bug的产生的原因。感觉像是缓存没清理干净卡在某处。也不知道是不是android studio本身的bug。