今年很早的时候就听说了google计划更换系统搭载的语言,一直到最近才更新了studio的版本到3.0,虽然目前最新的版本时3.1,但相对稳定的还是3.0版本,在切换版本的时候,也是遇到了不少问题,正好借今天总结一下问题点(随后在遇到新的问题点,在更新)
首先是关于studio的更新地址https://dl.google.com/dl/android/studio/install/3.0.0.18/android-studio-ide-171.4408382-windows.exe
(转自studio中文文档网址http://www.android-studio.org/的下载地址)相关的studio版本更新内容,有需要的可以自行更新
一:了解studio3.0的新特性
首先我们要使用新的studio版本(金丝雀),就要先了解他的新特性和更新内容有哪些。
Google之所以称之为“金丝雀版”,是因为金丝雀曾在矿井中被用于早期预警,金丝雀版采集到的反馈数据可以帮助Google更快的找到并修复问题。从这层的解释也可以看出,这次的版本主要的更新是为了更好的采集获取反馈数据,另外个人认为,也是为了google推出自家的新语言Kotlin吧。
关于其包含的新特性,转自http://www.jcodecraeer.com/a/anzhuokaifa/2017/1012/8588.html
(1).核心IDE更改
(2).Kotlin语言 (我们打开setting的选项,可以看到新多出的选项)
(3).支持Java 8语言功能
(4).新的Android Profiler(新型Android Profiler提供了对应用程序活动的实时统一视图)
(5).即时应用支持 Android Studio 3.0允许您在项目中使用两种新的模块类型即时应用模块和功能模块来创建Instant Apps。
(6).APK调试器
其他等等基本都取自标注的转载网址,可以自行查看了解,我就不一一诉说了,主要说一下我自己使用的感受,除了以上的新的功能特性以外,项目中的图标和是色差图标也都做了改变和调整,
刚开始用的时候还是有点别扭的。
二、关于新版本的studio的配置调整
当你更换了studio3.0之后,首先要修改的配置就是两个地方,studio3.0默认要求gradle版本是3.0.0以上的,所以首先你要将项目的build.gradle中配置修改添加:
否则会出现项目报错异常,提示版本配置过低之类的错误。
另外就是你的gradle——wrapper——gradle-wrapper.properties路径下的配置路径,要修改为
https\://services.gradle.org/distributions/gradle-4.1-all.zip
刷新gradle后,就会自动更新了(这里需要注意尽量打开翻墙),如果一直卡着不动,无法更新,那就要你手动更新
配置了
gradle-4.1-all.zip下载地址(gradle wrapper的distributionUrl):
https://services.gradle.org/distributions/gradle-4.1-all.zip
gradle所有版本下载地址:
http://services.gradle.org/distributions/
具体更新操作:
在File/settings/Build、Execution、Deployment/gradle
选择“use defalut gradle wrapper(recommended)”时,as就会根据\gradle\wrapper\gradle-wrapper.properties文件中的配置去gradle
最后,设置完了 Rebuild Project, 不行的话,就尝试重启AS。
三,关于老项目迁移时出现的问题总结
提供相关文档地址:https://developer.android.google.cn/studio/build/gradle-plugin-3-0-0-migration.html#update_gradle
1.Android 异常Error:Unable to resolve dependency ,Could not resolve project
主项目app中buildTypes文件有误
-
android {
-
buildTypes {
-
release {
-
...
-
}
-
debug{
-
...
-
}
-
}
-
}
-
android {
-
buildTypes {
-
release {
-
...
-
}
-
preview {
-
...
-
}
-
debug {
-
...
-
}
-
}
-
}
Android Studio3.0将gradle.build中dependencie依赖由compile变为implementation
具体参考给出的说明文档中的解释
implementation:当你的模块配置了一个实现的依赖,让Gradle知道这个模块不希望在编译的时候把依赖泄露给其他模块。 |