将android kotlin项目迁移到sdk 27

我想把我的android项目的targetSdkVersion从25改为27.问题是我使用了Kotlin,还有一些很大的改变:

1)改变了View.findViewById()的签名。 现在我需要使用findViewById

2)碎片的getContext()变得不是零安全,所以我需要添加! 到所有片段中的所有上下文值。

有没有办法自动修复整个项目? 这不是一个小项目,手动修复会花费很多时间。

  1. 我不知道迁移findViewById的简单方法。 我相信我记录了一个Vim(IdeaVim)宏来帮助我,当我做到了。
  2. getContext()的可空性没有改变,只有注解做了。 在过去getContext()可能已经返回null ,编译器只是没有警告你。 你不应该试图find一种方法来忽略这些错误,甚至添加!! 到每个用途。 你应该处理返回值为null的情况,并在你的应用程序中做正确的事情。