为了账号安全,请及时绑定邮箱和手机立即绑定

gradle 从3.0.1升级到 3.4.0 所解决的各种问题

标签:
Android

1.ext.kotlin_version升级 / repositories 里新增

  • gradle升级后ext.kotlin_version会提示升级到对应版本:
    ext.kotlin_version = '1.1.51’
    ext.kotlin_version = ‘1.3.10’

  • kotlin引入的库修改 (jre7 / jdk7):

implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
  • repositories 里新增:
    mavenCentral()

2.gradle.properties去掉 android.enableAapt2=false

升级到3.4.0后如果里面有android.enableAapt2=false会报错,去掉即可

3.所有依赖库里去掉 buildToolsVersion

这个会提示错误:buildToolsVersion rootProject.ext.buildToolsVersion,一键就可以去掉

4.引入名称修正

3.0.1 3.4.0
testCompile testImplementation
androidTestCompile androidTestImplementation
compile api / implementation
instrumentTest androidTest

api / implementation:
表示此库引入的jar包也是否可以被 引入此库的项目使用(例如A引入B,B引入了C,如果B引入C时 使用api则A也可以使用C,如果使用implementation则A不能使用C)。

注意这样的形式: api fileTree(dir: ‘libs’, include: [’*.jar’])

5. inner element must either be a resource reference or empty

错误内部元素必须是资源引用或空

如果是自己的库中出现的情况:

<item name="webviewload_monitor_cancel_point" type="id"/>

如果是三方文件引入,则不能直接修改文件。可以借助gradle中的resValue这个方法去修改编译中的文件:

android {
    ...
    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            resValue "id", "webviewload_monitor_cancel_point",""
        }
        debug{
             resValue "id", "webviewload_monitor_cancel_point",""
        }
    ...
}
点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
移动开发工程师
手记
粉丝
8
获赞与收藏
25

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消