总体来说界面更好看了,添加了Kotlin支持,Android Profiler特别炫,但是3.0改动较大,出现很多问题,解决了一个又一个, 把开荒过程记录在下。
导入原有项目
-
首先升级gradle,这两步可以通过AS的提示自动完成:
-
protect的build.gradle:
dependencies { classpath 'com.android.tools.build:gradle:3.0.0-alpha1' }
-
gradle-wrapper.properties:
distributionUrl=https\://services.gradle.org/distributions/gradle-4.0-milestone-1-all.zip
-
原有lambda报错:
```
Warning:One of the plugins you are using supports Java 8 language features. To try the support built into the Android plugin, remove the following from your build.gradle:
apply plugin: 'me.tatarka.retrolambda'
To learn more, go to https://d.android.com/r/tools/java-8-support-message.html
```
```
Plugin with id 'me.tatarka.retrolambda' not found. Open File\
```
处理办法:删除app的build.gradle的dependencies中:classpath 'me.tatarka:gradle-retrolambda:3.2.5'
;
删除project的build.gradle中:apply plugin: 'me.tatarka.retrolambda'
- 报错
Error:Execution failed for task ':app:mockableAndroidJar'.
> Could not initialize class com.android.ide.common.util.ReadWriteProcessLock
Error:Execution failed for task ':app:transformClassesWithDesugarForDebug'.
> Could not initialize class com.android.ide.common.util.ReadWriteProcessLock
卡死在这个地方,没有解决。
- 之前还有一个错误,现在没有重现,是有关于java 8的问题,根据AS的提示在app的build.gradle的defaultConfig中加了一句话后解决。
新建项目
既然导入原有项目卡住了,就新建一个试试吧,正常步骤新建项目,不同的是选择上支持Kotlin
新建成功后模版Activity报一堆错误,大多是Kotlin语法不对,包括@Override应修改为方法前的override,this@LoginActivity缺失等,这些可以自行修改。
最关键一个问题,继承自AppCompatActivity的所有方法都无法引用,包括getString等,刚开始我以为是Kotlin语法写错的原因,后来发现导入原Java应用也有这个问题:
这个Java项目使用原AS2.3就没有问题,可能是这个版本还有不少配置要修改,只是没有时间再看了,还是先用2.3学学Kotlin, 新版本等等大神们的使用经验再说吧。
新进展
这两天打算重新研究3.0, 打开后把这两步处理完就直接跑起来了, 应该是当时的gradle并没有配置好导致的.
1. protect的build.gradle:
`dependencies { classpath 'com.android.tools.build:gradle:2.3.0' }`
2. gradle-wrapper.properties:
`distributionUrl=https\://services.gradle.org/distributions/gradle-4.0-milestone-1-all.zip`