AndroidStudio升级到3.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配置,这里我直接选择的第一项,导入之前就有的配置,包括了字体和代码格式等,有说不导入的,但没有说明原因

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

如果选择忽略,那么当前项目不会受到影响,无需更改代码,当然你也无法使用到谷歌的新特性.所以建议升级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的新特性和注意事项,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • 详解Androidstudio3.0 关于Gradle报错的问题(小结)

    前言 升级Android Studio to 3.0 canary 1版本后,之前一个正常的Project,一直报错,报错内容如下 Error:Failed to complete Gradle execution. Cause: The version of Gradle you are using (3.3) does not support the forTasks() method on BuildActionExecuter. Support for this is available

  • 浅谈Android Studio3.0更新之路(遇坑必入)

    序言:作为这个世界上走在最前沿的生物"猿",怎么能对新事物一无所知呢,10月26日,随着Android 8.1 Oreo的预览版发布,Android Studio3.0正式版也发布了,作为Android开发的猿们我们应该早就知道谷歌在今年5月的开发者大会上就说了要支持Kotlin语言,所以这次更新一个比较大的点就在于支持Kotlin语言了,下面就跟着LZ的脚步来探索一下AS3.0吧 相信很多人很早就体验过谷歌爸爸放出来的体验版本了,虽然说正式版已经出了,但是很多人也不敢轻易贸然的更新,

  • Android Studio3.0新特性及安装图文教程

    Android Studio是Android的官方IDE.它是专为Android而打造,可以加快您的开发速度,帮助您为每款Android设备构建最优应用. 它提供专为Android开发者量身定制的工具,其中包括丰富的代码编辑.调试.测试和性能分析工具. 一.Android Studio3.0新特性 (1).核心IDE更改 我们将基础IDE从IntelliJ 2016.2升级到2017.1.2,在2016.3和 2017.1中增加了许多新功能, 包括参数提示,语义突出显示,搜索中的即时结果等等.

  • 详解升级Android Studio3.0时遇到的几个问题

    今天收到了Android Studio3.0更新推送,在升级过程中遇到几个问题,在这里把问题和解决方法记录下,方便要升级的童鞋.如果还有童鞋遇到不同的问题,也可以评论下我做下记录 1.gradle打包,自定义apk名称代码报错(Cannot set the value of read-only property 'outputFile' ) 报错 Error:(56, 0) Cannot set the value of read-only property 'outputFile' for

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

     概述 谷歌发布Android Studio3.0正式版已经有一段时间了,最近抽空升级了一下,也踩了一些坑.特地记录一下.作为开发者第一时间体验谷歌带来的新特性是很有必要的.当然为了项目稳定性,也要根据实际情况决定是否升级相关插件 升级 从已有的IDE升级,无非就是File->Settings->Appearance&Behavior->Updates,这里可以选择升级渠道:Canary(金丝雀)Dev(开发版)Beta(Beta版)Stable(稳定版),以及是否使用安全链接.

  • webpack 4.0.0-beta.0版本新特性介绍

    近年来前端技术如雨后春笋般蓬勃发展,我们也在这个潮流下不断地学习.成长.前端技术的不断发展,给我们提供了许多的便利.例如:JSX的出现为我们提供了一个清晰.直观的方式来描述组件树,LESS/SASS的出现提高了我们书写css的能力,AMD/CommonJS/ES6 的出现为我们模块化开发提供了便利.然而,我们需要使用其它工具将这些工具转化成原生语言以运行在浏览器上.为了能够更好的将这些不同的资源整合到一起,我们就需要一个打包工具,webpack就是这个需求下的产物. webpack 可以看做是模

  • 浅谈Android Studio 3.0 工具新特性的使用 Android Profiler 、Device File Explorer

    前言: 其实 studio3.0的工具大家也已经使用过一段时间了,自己呢,就是从bate版开始使用的,我觉得比较好用的几个地方.就几个,可能还没用到其他的精髓. 但我觉的这个两个功能对我是比较实用的.好那么下面就给大家介绍一下吧. 正文: 话不多说咱们直接上图吧.(个人比较喜欢看图说话) 第一个(Android Profiler)我要介绍的就是这个了.(先看一下效果"震撼一下") (图-1) (图-2) (图-3) (厉害不厉害,牛逼不牛逼)那么我们怎么来操作这个工具呢,来咱们接着看图

  • C#7.0中新特性汇总

    以下将是 C# 7.0 中所有计划的语言特性的描述.随着 Visual Studio "15" Preview 4 版本的发布,这些特性中的大部分将活跃起来.现在是时候来展示这些特性,你也告诉借此告诉我们你的想法! C#7.0 增加了许多新功能,并专注于数据消费,简化代码和性能的改善.或许最大的特性就是元祖和模式匹配,元祖可以很容易地拥有多个返回结果,而模型匹配可以根据数据的"形"的不同来简化代码.我们希望,将它们结合起来,从而使你的代码更加简洁高效,也可以使你更加

  • 详解Android Studio 3.0的新特性与适配

    简介 Android Studio升级到3.0后,有不少的改动和新特性,先贴出官方的迁移说明. 本文会持续收集与总结本人在使用Android Studio 3.0进行开发的过程中所遇到的问题. 版本配置 Gradle版本 Android Studio 3.0需要的Gradle版本至少为4.1. 如果是使用gradle wrapper,则工程根目录/gradle/wrapper/gradle-wrapper.properties中的distributionUrl字段为https\://servic

  • VS2015中C#版本6.0的新特性 你需要知道

    本文列出个人感觉比较有用的几个新功能,供大家参考,具体内容如下  注意:这些新特性只能用于VS2015及更高版本,无法在VS2013.VS2010等低版本中使用.当然,如果你不喜欢这些新的特性,仍然可以继续使用原来的用法(所以说它是新的语法糖).  1.自动属性初始化的改进(有用)  原来的用法(声明时无法同时初始化),例如: class MyClass { public int Age { get; set; } public string Name { get; set; } public

  • 我整理的PHP 7.0主要新特性

    截止到目前为止,PHP官方已经发布了php7的RC5版本,预计在11月份左右会发布第一个正式版本!现在来说php7的重大特性肯定已经是定型了,不会再有什么变动了.后续一些版本的迭代主要也就是修修bug,优化之类的.下面就来说话我们一直期待的php7.0新特征吧. 1.标量参数类型声明 现在支持字符串(string).整型(int).浮点数(float).及布尔型(bool)参数声明,以前只支持类名.接口.数组及Callable 两种风格:强制转换模式(默认)与严格模式 <?php // Coer

  • 探秘C# 6.0 的新特性

    C# 6.0 中的新特性 我们可以对这些新特性一个一个的进行讨论,而首先要列出 C# 6.0 中这些特性的一个清单 自动的属性初始化器 Auto Property Initializer 主构造器 Primary Consturctor 字典初始化器 Dictionary Initializer 声明表达式 Declaration Expression 静态的Using Static Using catch 块中的 await 异常过滤器 Exception Filter 用于检查NULL值的条

  • Android Studio 升级到3.0 提示 java.lang.NoClassDefFoundError的解决方法

    解决方法 首先把方法写出来,起因和经过和原理写在后面,时间仓促的直接看解决方法吧. 一般出现这个错都是使用的provided导致的 例如,我的旧配置如下: Project build.gradle文件: buildscript { dependencies { classpath 'com.android.tools.build:gradle:3.0.1' // need delete in gradle3.x version classpath 'com.neenbedankt.gradle.

  • Node.js v8.0.0正式发布!看看带来了哪些主要新特性

    前言 Node.js于5月30号在其官方博客上发布了Node.js v8.0.0.这一版本将成为当前的长期维护版本,从2017年10月开始到2019年12月31号.而Node.js v6.0.0将会在2018年4月进入维护模式,并于2019年4月结束. 最新发布的版本代号为Carbon,带来了很多重要的特性改进和一些全新的特性. 引入async_hooks模块 新引入实验性模块async_hooks(之前叫作async_wrap),它包含了一组用于诊断的API,开发人员可以用它监控Node.js

随机推荐