Android Studio从2.2.3升级到3.0.1遇到的问题

昨天开会时,领导忽然冒出一句“项目中止开发”,作了近一年的项目就这样草草结束。离过年还有一个多月呢,就没什么事了。左右无事,就来升级下AS。(补充于2018-01-15:刚才又看到的博客https://www.jianshu.com/p/15afb8234d19)html

开发阶段AS使用的版本是2.2.3的,升级使忘了使用AS的Help-->Check for update来直接升级,就将AS先卸载了,而后到AS中文社区下载了exe文件安装的。吐槽本身,太Low。java

结果我安装后的版本是AS 3.0的。而后就遇到了以下问题:android

一、gradle打包时,自定义apk名称报错:Cannot set the value of read-only property ‘outputFile’android-studio

解决办法以下:安全


二、AAPT编译报错:Error:java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for detailsmaven

解决办法:测试

在gradle.properties文件中关闭AAPT2编译:android.enableAapt2=falsegradle


三、apt插件问题(Error:Cannot choose between the following configurations of project :mylibrary:)ui

解决办法:google

我本身项目的处理:

以前加上这个,是由于在使用butterknife时,获得的控件会报空指针异常,升级到3.0.1后,这里去掉,测试没问题。


四、前面说了,我先是升级的AS 3.0的,因此在前面三个问题解决后,遇到了第四个问题:

各类百度,SO等,都说是要加什么maven{url.......}或者google()什么的,都没用。最后又再次升了一次级,从Help--->Check for update里面升级到AS 3.0.1,

OK,问题解决。原来工程下面的classpath 'com.android.tools.build:gradle:3.0.1'版本要跟AS版本一致才OK。

五、Annotation processors must be explicitly declared now:

解决办法:


6Signature Version安卓项目打包时的两种签名方式:

V1(Jar Signature): 传统通用方式。来自JDK。
V2(Full APK Signature): Android 7.0 引入的新方式。安装更快、验证方式更安全。不适用于旧安卓版本,且不强制。完整信息可参考

Android 7.0 开发者版本因此为了追求更完美的发挥,应将两个勾同时勾上。若不勾选V1,则旧安卓版本没法安装;若不勾选V2,则对于

Android7.0设备就舍弃了更快更安全的方式。

7、打debug测试包安装时提示:install_failed_test_only。    也就是说,只要在AndroidStudio3.0内,点击绿三角运行Run,跑出来的apk,必定是TEST_ONLY的

但愿对你们有用哈。