【已解决】Flutter神策可能会导致Kotlin文件Redeclaration

15 篇文章 0 订阅
4 篇文章 0 订阅

一句话解决方案

如果出现了XXX.kt Redeclaration,但尝试了其他方案都没有用的话,可以检查Flutter项目是否使用了神策的全埋点,本地Flutter环境是否集成了神策插件,如果没有,则按照神策Flutter全埋点文档集成,如果是神策引起的问题,则此时便可得到解决。


update 20230404

MacOS使用者注意:

java可能会使用/usr/libexec/java_home -V对应的目录(一般是这会将 JAVA_HOME 设置为 /Users/username/Library/Java/JavaVirtualMachines/ 目录)下的最新的 Java 版本作为java版本,所以如果后续在这里下载了最新的jdk,也可能导致此问题重现。
此时注意需要将JAVA_HOME设置为符合Flutter要求的java版本(比如11)。或者直接删除新的java版本。

背景

在新电脑上面执行之前的Flutter项目时,只是将源码下载下来直接执行,结果反复切换了Flutter/Kotlin/AS/IDEA/VS Code等等,当编译最后时,总会出现XXX.kt: Redeclaration XXX错误,而且报错的是Flutter项目中Android Moudle中的所有Kotlin文件(包括Application、Activity等)。

在尝试了Kotlin file changes result in Redeclaration error上面的各种方式之后也依旧会出现。

虽然同样的代码在之前的电脑上是OK的,但是病急乱投医,依旧试了各种诸如切换编译器、Java、Kotlin、Gradle等各种方式,但是均于事无补。

期间虽然也有考虑到可能时神策导致的,但是可能时因为使用了FVM的缘故,神策集成可能未成功,而导致问题依旧存在,再加上XXX.kt Redeclaration看起来好像时Kotlin插件的问题,而我本地的Gradle使用--stacktrace --scan --debug等参数都没有输出有用的信息,导致我浪费了大约好几个小时在此问题上。

最后解决此问题也是上述各种折腾无效之后,才再次一项一项和之前的项目对比环境条目,重新使用相同的Flutter,重新集成了一次神策才解决了此问题。

出现这个问题的原因很愚蠢,解决问题的过程中的教训需要铭记

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值