AndroidStudio升级到3.0的新特性和注意事项小结

所属分类: 软件编程 / Android 阅读数: 52
收藏 0 赞 0 分享

 概述

谷歌发布Android Studio3.0正式版已经有一段时间了,最近抽空升级了一下,也踩了一些坑.特地记录一下.作为开发者第一时间体验谷歌带来的新特性是很有必要的.当然为了项目稳定性,也要根据实际情况决定是否升级相关插件

升级

从已有的IDE升级,无非就是File->Settings->Appearance&Behavior->Updates,这里可以选择升级渠道:Canary(金丝雀)Dev(开发版)Beta(Beta版)Stable(稳定版),以及是否使用安全链接.或者Help->Check for Updates,会直接推送当前最新的稳定版.正式版貌似在本地调试方面不再支持32位Windows系统

Tips:AS除了IDE本身,还有SDK,配置文件,依赖库,默认在Win平台上都是存放在C盘,建议只把SDK文件夹单另移动到其它的硬盘,可以在AS中选择,其它的保持默认,给C盘留出足够空间.之前有照网上的更改config文件,自定义配置文件和依赖库存放的目录,但在升级的时候出现了很多问题,特别是在大版本升级的时候会出现找不到某些文件的情况

升级步骤

升级安装完毕后还需要我们做一些配置:

导入IDE配置,这里我直接选择的第一项,导入之前就有的配置,包括了字体和代码格式等,有说不导入的,但没有说明原因

AndroidStudio升级到3.0的新特性和注意事项_1.jpg

打开项目后会收到更新gradle插件和gradle的提示:

AndroidStudio升级到3.0的新特性和注意事项_2.jpg

如果选择忽略,那么当前项目不会受到影响,无需更改代码,当然你也无法使用到谷歌的新特性.所以建议升级gradle插件到3.0.0,升级gradle到4.1。因为wall的原因,AS下载gradle的速度会非常慢,要么自行翻墙,要么用迅雷打开链接https://services.gradle.org/distributions/gradle-4.1-all.zip,亲测速度很快。下载好的zip包放入C:/users/{user name}/.gradle/wrapper/dists/gradle-4.1-all路径下一串乱码的文件夹下,再次启动AS时会自动解压该zip包。

报错

因为每次gradle的更新往往也伴随着构建工具的更新,不多说,更新就好了

buildToosVersion


报错信息写的很清楚,移除所在build.gradle中的buildToolsVersion(当前使用的版本是25.0.0),因为每个gradle插件版本都有对应的默认版本的build tools。3.0.0对应的就是26.0.2.但是为了更清晰并且可配置,我们还是手动将其改为需要的版本而不是移除

Google's Maven repository


报错的原因是新版AS默认使用Google's Maven Repository用于下载依赖Android Support Library,所以,需要在工程根目录下的 build.gradle 文件中的repositories下添加google()一行代码:

repositories {
  google()
  jcenter()
}

AAPT2编译报错


关闭AAPT2编译,在gradle.properties中加入:android.enableAapt2=false

注解处理器报错

这个项目使用的Butterknife还是比较老的7.0.1版本,只有一个库,将功能代码和注解代码都写在了一起.但是新版的gradle插件会检测代码,如果要编译的代码中还有处理注解的部分,则需要被显式的说明.我们将其更新到最新版的8.4.版本.Butterknife从8.0版本后就将库拆分为编译时和运行时的.基本上所有的注解型第三方库都可以使用新的依赖方式:

在module所在的build.gradle中用annotationProcessor代替apt引用编译类库

 //旧
 dependencies {  compile 'com.jakewharton:butterknife:8.4.0'  annotationProcessor 'com.jakewharton:butterknife-compiler:8.4.0'
 }
*
 //新
 dependencies {
 compile 'com.jakewharton:butterknife:8.4.0'  annotationProcessor 'com.jakewharton:butterknife-compiler:8.4.0'
 }
*在module所在的build.gradle中移除 apply plugin: 'com.neenbedankt.android-apt'.在根目录所在的build.gradle中移除classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'.因为gradle 2.2之后官方插件中已经提供了annotationProcessor的功能来完全代替 android-apt.不移除会报错,并且android-apt的作者也在官网声明推荐使用官方插件:https://bitbucket.org/hvisser/android-apt/wiki/Migration

新特性

到这里一些常见的问题基本就修复了,现在就来体验一下Android Studio及gradle相关更新的这次改动带来的一些新特性

以上所述是小编给大家介绍的AndroidStudio升级到3.0的新特性和注意事项,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

更多精彩内容其他人还在看

Retrofit2日志拦截器的使用

这篇文章主要介绍了Retrofit2日志拦截器的使用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

Android创建外部lib库及自定义View的图文教程

这篇文章主要给大家介绍了关于Android创建外部lib库及自定义View的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

Android分享微信小程序失败的一些事小结

这篇文章主要给大家介绍了关于Android分享微信小程序失败一些事,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

Android分享微信小程序技巧之图片优化

这篇文章主要给大家介绍了关于Android分享微信小程序技巧之图片优化的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

Android Viewpager实现无限循环轮播图

这篇文章主要为大家详细介绍了Android Viewpager实现无限循环轮播图,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Android中的Bitmap序列化失败的解决方法

这篇文章主要介绍了Android中的Bitmap序列化失败的解决方法,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Android自定义通用标题栏CustomTitleBar

这篇文章主要为大家详细介绍了Android自定义通用标题栏CustomTitleBar,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Android组合控件自定义标题栏

这篇文章主要为大家详细介绍了Android组合控件自定义标题栏,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Android自定义复合控件实现通用标题栏

这篇文章主要为大家详细介绍了Android自定义复合控件实现通用标题栏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

ExpandableListView实现简单二级列表

这篇文章主要为大家详细介绍了ExpandableListView实现简单二级列表,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享
查看更多