热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

这篇文章主要介绍了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配置,这里我直接选择的第一项,导入之前就有的配置,包括了字体和代码格式等,有说不导入的,但没有说明原因

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的新特性和注意事项,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


推荐阅读
  • 【Windows】实现微信双开或多开的方法及步骤详解
    本文介绍了在Windows系统下实现微信双开或多开的方法,通过安装微信电脑版、复制微信程序启动路径、修改文本文件为bat文件等步骤,实现同时登录两个或多个微信的效果。相比于使用虚拟机的方法,本方法更简单易行,适用于任何电脑,并且不会消耗过多系统资源。详细步骤和原理解释请参考本文内容。 ... [详细]
  • 生成对抗式网络GAN及其衍生CGAN、DCGAN、WGAN、LSGAN、BEGAN介绍
    一、GAN原理介绍学习GAN的第一篇论文当然由是IanGoodfellow于2014年发表的GenerativeAdversarialNetworks(论文下载链接arxiv:[h ... [详细]
  • Skywalking系列博客1安装单机版 Skywalking的快速安装方法
    本文介绍了如何快速安装单机版的Skywalking,包括下载、环境需求和端口检查等步骤。同时提供了百度盘下载地址和查询端口是否被占用的命令。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • 如何去除Win7快捷方式的箭头
    本文介绍了如何去除Win7快捷方式的箭头的方法,通过生成一个透明的ico图标并将其命名为Empty.ico,将图标复制到windows目录下,并导入注册表,即可去除箭头。这样做可以改善默认快捷方式的外观,提升桌面整洁度。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • HDU 2372 El Dorado(DP)的最长上升子序列长度求解方法
    本文介绍了解决HDU 2372 El Dorado问题的一种动态规划方法,通过循环k的方式求解最长上升子序列的长度。具体实现过程包括初始化dp数组、读取数列、计算最长上升子序列长度等步骤。 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • 本文介绍了在Win10上安装WinPythonHadoop的详细步骤,包括安装Python环境、安装JDK8、安装pyspark、安装Hadoop和Spark、设置环境变量、下载winutils.exe等。同时提醒注意Hadoop版本与pyspark版本的一致性,并建议重启电脑以确保安装成功。 ... [详细]
  • 信息安全等级保护是指对国家秘密信息、法人和其他组织及公民的专有信息以及公开信息和存储、传输、处理这些信息的信息系统分等级实行安全保护,对信息系统中使用的信息安全产品实 ... [详细]
  • t-io 2.0.0发布-法网天眼第一版的回顾和更新说明
    本文回顾了t-io 1.x版本的工程结构和性能数据,并介绍了t-io在码云上的成绩和用户反馈。同时,还提到了@openSeLi同学发布的t-io 30W长连接并发压力测试报告。最后,详细介绍了t-io 2.0.0版本的更新内容,包括更简洁的使用方式和内置的httpsession功能。 ... [详细]
author-avatar
书友68610983
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有