Android Studio升级到3.0以后,原来工程的gradle配置文件会有一些不匹配的地方,会出现一些错误,主要如下:
1.gradle必须升级到4.0以上
我们在AS中用到的Gradle其实应该被叫做 Android Gradle Plugin,也就是安卓项目上的gradle插件;
Gradle插件会有版本号,每个版本号又对应有一个或一些 Gradle发行版本(一般是限定一个最低版本),也就是我们常见的类似gradle-3.1-all.zip这种东西;
如果这两个版本对应不上了,那你的工程构建的时候就会报错, 对应关系如下:
3.0.1的插件版本必须对应4.1以上的gradle版本,因此需要在../gradle/wrapper/gradle-wrapper.properties文件中把版本号改为4.1
1.3 buildToolsVersion升级到26.0.0
这次是提示没有26.0.2版本的 SDK buildTool ,然后直接在AS报错弹框里点击下载就可以了。现在SDK可以不用翻墙直接下载,速度还蛮快的。下载确认解压之后再次同步gradle。
需要去掉各个module的build.gradle中的 buildToolsVersion 的设置,因为3.0.1以上的gradle插件会自动用一个默认的BuildTool版本,不需要像以前一样,在每个build.gradle里写明buildToolsVersion了。
1.4 Error:Resource shrinker cannot be used for libraries.
原因是library中使用了混淆,并移除了无用的资源文件,英文的意思是“library中不要使用移除无用的资源文件字段”,所以解决办法就是把该library中的shrinkResources字段移除就可以了
1.5 Error:All flavors must now belong to a named flavor dimension.
作者:大鱼鱼小仙人
链接:https://www.jianshu.com/p/6f3c34b36037
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
作者:大鱼鱼小仙人
链接:https://www.jianshu.com/p/6f3c34b36037
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
原因就是使用了productFlavors分包,需要在app/build.gradle加上默认的dimension;大概就是为了保证各个渠道包要保持某些属性的一致;总之按照官网上的说法,只要给每个渠道都设置一个“flavorDimensions”就可以了
解决方法就是在build.gradle中的defaultConfig中添加一个flavorDimensions "1"就可以了,后面的1一般是跟你的versionCode相同
1.6 Error:java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception:
一般跟aapt2相关的问题的解决方法就是:在gradle.properties中关闭APPT2 编译,加上下面这行代码就好了:android.enableAapt2=false