浅谈Android Stduio升级3.0,Gradle升级4.1之后的故事

___前两天盼望已久的as3.0终于推送了正式版,收到更新通知后随手就给更新了,一些编译的问题也正在悄然走来。。。
___No1:Error:(56, 0) Cannot set the value of read-only property
'outputFile' for ApkVariantOutputImpl_Decorated,首先报的就是配置自定义apk配置出错
根据提示得到现在要的是名字不是文件了,所以直接按下图修改即可

error1.png

___No2:Error:Cannot choose between the following configurations of project :pickerview:
-debugApiElements
-debugRuntimeElements
-releaseApiElements
-releaseRuntimeElements
All of them match the consumer attributes: ...
看提示不容易发现问题,搜了一下相关文章发现是apt的锅,由于apt作者不再维护,google就发部了annotationProcessor ,再我们项目里面呢也正好有butterknife,还有eventbus,这个时候呢改一下apt的相关配置了,首先删掉根项目build.gradle里面的 classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8';然后去app里面的build.gradle,去掉apply plugin: 'android-apt',依赖改成annotationProcessor "com.jakewharton:butterknife-compiler:**"
defaultConfig下添加
javaCompileOptions {
annotationProcessorOptions {
includeCompileClasspath = true
}
}

如果有设置eventbus加速模式的把
apt {
arguments {
eventBusIndex "com..MyEventBusIndex"
}
}
删掉
然后到defaultConfig下添加
javaCompileOptions {
annotationProcessorOptions {
includeCompileClasspath = true
arguments = [eventBusIndex: 'com.kk.user.KKEventBusIndex']
}
}
同样把依赖apt改成annotationProcessor如果还有别的apt依赖自行搜索两者的使用规则。
___No3:Error:Cause: getMainOutputFile is no longer supported. Use getOutputFileName if you need to determine the file name of the output.
这个问题就很奇怪了,翻译了一下也看不出来啥玩意,百度搜也搜不准,恰巧开大会vpn又不让用,后来勉强在stack上发现解决方案就是在android:下添加flavorDimensions "default"具体这个东西是干啥的,暂时还没去了解,加上后就接着发下了下一个问题。
___No5:(不喜欢那个数字,直接跳了),Unable to resolve dependency for ':app@xxPreview/compileClasspath': Could not resolve project :library.
Could not resolve project :library.
Required by: project :app
Unable to find a matching configuration of project :library:
- Configuration 'debugApiElements':。。。
这个比较恶毒,看着没啥毛病了,怎么会报依赖库的问题,感觉有点过分了,甚至很燥,想来一句mmp,本地依赖库还有啥该的,看了好久资料都没相关的说明,3.0也刚出来相关的更是少的不行(开会NO VPN),换了无数个关键词后发现一篇很有趣的文章,具体是啥我就不一一道来了,意思是现在的本地依赖库里面的build.gradle必须要和app里面的buildTypes一样,哪怕里面是空的debug,test,realease啥的也行,bingle解决了,粘过去就行了。
好了天也不早了,今天就谈到这吧!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 文章作者:Tyan博客:noahsnail.com 3.4 Dependencies A typical ente...
    SnailTyan阅读 4,199评论 2 7
  • afinalAfinal是一个android的ioc,orm框架 https://github.com/yangf...
    passiontim阅读 15,515评论 2 45
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,915评论 18 139
  • 昨天是参加日记本上课的第4天,刘老师讲课的内容仍然不是什么很深的写作技巧,教的是我们如何去拍照。不用很高端的相机,...
    适应习惯阅读 256评论 0 0
  • 皓月长空谁记得谁 相思不再人何处归 千年守望千年泪 曼珠沙华的艳丽 只一眼就成天涯 我跨越这千年的时光 只为你那句...
    木子不爱糖阅读 478评论 2 3