返回

AS 3.0 升级必看!这些坑千万别踩

Android

AS 3.0 升级埋坑之路

自从 10 月 26 日谷歌发布 Android Studio 3.0 正式版以来,广大安卓开发者终于松了一口气,但同时,随之而来的问题也引起了广泛讨论,比如版本稳定性、是否存在坑等等。正因如此,大多数人还是选择了隔岸观火,准备等一段时间后再决定是否升级。我也犹豫了很久,不过在仔细查看了官方文档后,我还是决定升级了。

当然,升级过程中也遇到了不少坑,所以今天就给大家分享一下我的升级经验,希望能给大家一些帮助。

1. 编译失败

升级 AS 3.0 后,编译项目时出现了 NoClassDefFoundError: Failed resolution of: Lkotlin/reflect/jvm/internal/impl/builtins/KotlinBuiltIns; 错误。

经过一番搜索,发现这是由于 Kotlin 1.2.30 版本的问题。升级 Kotlin 版本到 1.2.41 即可解决此问题。

2. Gradle 构建失败

在使用 Gradle 构建项目时,出现了 Could not initialize class org.gradle.api.internal.artifacts.ivyservice.ivyresolve.strategy.LatestStrategy 错误。

这个问题是由 Gradle 3.3.2 版本引起的。升级 Gradle 版本到 3.5.1 即可解决此问题。

3. 视图无法显示

在升级 AS 3.0 后,发现视图无法正常显示。经过一番排查,发现是由于布局文件中使用了 android:layout_alignParentBottom="true" 属性引起的。

这是因为 AS 3.0 中对 android:layout_alignParentBottom 属性的实现发生了改变。解决方法是将该属性替换为 android:layout_marginBottom="0dp"

4. 内存泄漏

在升级 AS 3.0 后,发现项目中出现了严重的内存泄漏。经过一番排查,发现是由于使用 kotlinx.coroutines 框架引起的。

解决方法是将 kotlinx.coroutines 框架升级到 0.23.2 版本。

5. 其他问题

除了上述问题外,在升级 AS 3.0 后还遇到了其他一些小问题,比如:

  • Android Studio 卡顿
  • 代码提示不准确
  • 调试器问题

这些问题可以通过以下方法解决:

  • 调整 AS 的内存设置
  • 重新生成代码索引
  • 检查调试器的设置

总之,升级 AS 3.0 的过程并不是一帆风顺的。但是,只要耐心排查问题,还是可以顺利升级的。希望我的分享能给大家一些帮助。

如果您在升级 AS 3.0 时遇到任何问题,欢迎留言提问。