1、.gradle文件
- api: 对应之前的compile关键字,功能一模一样。会传递依赖,导致gradle编译的时候遍历整颗依赖树
- implementation: 对应之前的compile,与api类似,关键区别是不会有依赖传递
- compileOnly: 对应之前的provided,依赖仅用于编译期不会打包进最终的apk中
- runtimeOnly: 对应之前的’apk’,与上面的compileOnly相反
apply plugin: 'com.android.application'
android {
compileSdkVersion 27
defaultConfig {
applicationId "cn.qzzg.mobilenurse"
minSdkVersion 15
targetSdkVersion 27
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
testImplementation 'junit:junit:4.12'
implementation 'com.android.support.constraint:constraint-layout:1.0.2'
androidTestImplementation 'com.android.support.test:runner:1.0.1'
}
我们可以发现,谷歌把buildToolsVersion构建工具的版本给去掉了,在以前的版本中,buildToolsVersion也会给项目的构建带来很多错,现在把它给去掉省了很多问题;以及下面的依赖换成了implementation。
2、支持Kotlin
AS3.0支持将Java代码直接转成Kotlin代码,看个示例:
java代码:
package cn.qzzg.mobilenurse;
import android.app.Activity;
import android.os.Bundle;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
通过在顶部选择Code——>Convert Java File to Kotlin File进行转换就好了,转换之后,这就是一个Kotlin文件了
转换之后如下:
package cn.qzzg.mobilenurse
import android.app.Activity
import android.os.Bundle
class MainActivity : Activity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
}
3、支持Java8
AS的改版支持了Java8,可以直接将Java代码格式成lambda格式的,但是你得给你的项目设置成支持Java8
未完待续…