将android kotlin项目迁移到sdk 27
我想把我的android项目的targetSdkVersion从25改为27.问题是我使用了Kotlin,还有一些很大的改变:
1)改变了View.findViewById()
的签名。 现在我需要使用findViewById
2)碎片的getContext()
变得不是零安全,所以我需要添加! 到所有片段中的所有上下文值。
有没有办法自动修复整个项目? 这不是一个小项目,手动修复会花费很多时间。
- 我不知道迁移
findViewById
的简单方法。 我相信我记录了一个Vim(IdeaVim)宏来帮助我,当我做到了。 -
getContext()
的可空性没有改变,只有注解做了。 在过去getContext()
可能已经返回null
,编译器只是没有警告你。 你不应该试图find一种方法来忽略这些错误,甚至添加!!
到每个用途。 你应该处理返回值为null
的情况,并在你的应用程序中做正确的事情。