Warning 日志

最近在做Android工程的架构升级,每次同步工程()都会报下面的告警信息:

  • API ‘variant.getAssemble()’ is obsolete and has been replaced with ‘variant.getAssembleProvider()’
  • 警告:'variant.getJavaCompile()‘接口已过时,请替换为’variant.getJavaCompileProvider()’
  • Android Studio 更新后:获取 API ‘variant.getAssemble()’ 已过时,已替换为 ‘variant.getAssembleProvider()’

查了一下资料,有部分让降级 Gradle 版本的,还有关闭告警信息的,但考虑到以后的升级,还是适配一下比较稳妥,我们不应该把风险转嫁给未来。

原因

告警信息其实已经非常明确了,variantgetAssemble() 方法已启用,Gradle 官方希望我们使用它的替代方法 getAssembleProvider()

至于如何查找使用 getAssemble() 方法的地方,需要全局搜索一下:

  1. getAssemble
  2. assemble

通常大家使用到此方法的地方是应用 module 内的 build.gradle 里:

android {variant.outputs.all { output ->variant.assemble.doLast {//....}}
}

可以看到 variant.assemble,不是告警信息里的 variant.getAssemble() ,这是 Gradle 使用的 Groovy 语言的特性造成的。

解决方案

假设旧的使用方式是:

variant.outputs.all { output ->variant.assemble.doLast {//....}}
}

把上述代码替换为(内含 2 种修改方法):

variant.outputs.all { output ->variant.getAssembleProvider().configure() {it.doLast { //....}}
}
//或者
variant.outputs.all { output ->variant.assembleProvider.get().doLast {//....}}
}

根据自己的喜欢,可以选择上述修改方法之一。


如果有什么建议或者问题可以随时联系我,共同探讨学习:

  • Github: likfe
  • CSDN:他叫自己Mr.张
  • 掘金:cafeting
  • 微博:cafeting

API ‘variant.getAssemble()‘ is obsolete and has been replaced with ‘variant.getAssembleProvider()‘相关推荐

  1. Configuration 'compile' is obsolete and has been replaced with 'implementati解决方案

    今天把Android Studio更新到3.1.2编译之前的项目直接抛出下面的异常,这让我很是头疼,经过一翻查找发现是我们配置文件中的API已经过期,我对过期的API进行修改就Over了 1.异常展示 ...

  2. Warning:Configuration 'compile' is obsolete and has been replaced with 'implementation'. It will be

    Warning:Configuration 'compile' is obsolete and has been replaced with 'implementation'. It will be ...

  3. com.android.tools.build:gradle:2.3.3,关于com.android.tools.build:gradle:3.4.2的构建问题

    Android Studio Version:3.4.2 Android Gradle Plugin Version:3.4.2 Gradle Version:5.1.1 根据以上IDE工具以及对应的 ...

  4. weex android 交互,weex项目接入到Android studio中

    1:命令行 weex create awesome-app 生成一个weex项目 2:命令行 weex platform add android 项目加入到Android平台成功之后再 platfor ...

  5. CososCreator (Android)-AppLovin MAX 广告聚合平台接入+Firebase统计

    CososCreator 2.4.4 Android Studio :4.2.1 接入SDK有:接max聚合及中介平台(Admob,FB, applovin,pangle,mintegral,vung ...

  6. Capacitor+Vue+Vant移动端打包总结

    Capacitor+Vue+Vant移动端打包总结 本笔记为打包Vue移动端Android Apk 打包步骤 Capacitor与Vue项目结合基本配置自行百度/谷歌,这里是已集成配置好的项目. 1. ...

  7. Android Studio 3.0~3.x正式版填坑之路

    序言 总看别人的文章,今天尝试着自己来写一篇.在逛论坛时候,无意间发现Android Studio 3.0正式版本推送更新了,早听说AS 3.0添加了许多新功能,然后手贱迫不及待地想先睹为快,结果正中 ...

  8. Android Gradle 插件版本说明

    Android Studio 构建系统以 Gradle 为基础,并且 Android Gradle 插件添加了几项专用于构建 Android 应用的功能.虽然 Android 插件通常会与 Andro ...

  9. Android Gradle实现一键签名打包

    手动打包签名 Build->Generate Singned Bundle or APK->APK Next 选择你的密钥,填入key和两个密码,Next 选择Build Variants ...

最新文章

  1. 当数据库结构改变时,需要将数据库删除再创建
  2. 早停 tf.keras.callbacks.EarlyStopping() 详解【TensorFlow2入门手册】
  3. java+arrayblockquene_java集合(五)Queue集合之ArrayBlockingQueue 详解
  4. 类加载、类加载器、反射
  5. QT的QShortcut类的使用
  6. Hadoop配置文件
  7. SVN在另类环境中实现自动提交的方法
  8. java8 javafx_Java 8的新增功能(第1部分– JavaFX)
  9. 7z替换exe文件内容不能替换文件_Windows小技巧 批处理文件实现目录下文件批量打包压缩...
  10. sap 设置服务器信息,服务器上配置sap
  11. 编写注册表reg文件及批处理操作注册表
  12. 如何免费将office文档转成PDF的几种方法
  13. c语言程序设计精髓第三章编程题
  14. 小成本创造高回报?这家企业的创新培训模式有点牛
  15. php定时自动发送邮件(从数据库取数据)(超详细版本)
  16. JS 面试问题: 手写 new
  17. 关于全概率和贝叶斯公式的使用场景说明
  18. 【书摘】深度学习简史(摘抄自《深度学习基础与应用》)
  19. MySQL字符集不一致的解决办法总结
  20. [通达OA二次开发]FineReport 与通达OA集成 如何实现统一登录。

热门文章

  1. 使用 db2diag 工具来分析 db2diag 日志文件
  2. 超级计算机的等级,亿亿次级别运算曙光初现-超级计算机,千万亿次,TeraScale,万万亿次,ExaScale ——快科技(驱动之家旗下媒体)--科技改变未来...
  3. JWT--使用/教程/实例
  4. 键鼠共享工具Barrier
  5. 架设linux服务器下的samba,Linux 服务器搭建之Samba服务
  6. 《自控力》总结_完结
  7. python知识整理(一)
  8. Vultr删除信用卡
  9. QPSK调制解调和误码率
  10. 如何写一个 Burp 插件