intellij-idea - AndroidModuleModel.findProductFlavor 去哪儿了?我的插件抛出 NoSuchMethodError
问题描述
我是这个构建变体插件的作者,从 Android Studio 4.1 到 4.2.1,我依赖的一个方法似乎已从 IDE API 中删除:ProductFlavorContainer com.android.tools.idea.gradle.project.model.AndroidModuleModel.findProductFlavor(String)
在 IDEA 的 android 插件源代码的 master 分支中,它似乎仍然存在!这里发生了什么?
我得到的具体例外是在这条线上,有这样的文字:
llij.ide.plugins.PluginManager - 'com.android.builder.model.ProductFlavorContainer com.android.tools.idea.gradle.project.model.AndroidModuleModel.findProductFlavor(java.lang.String)'
java.lang.NoSuchMethodError: 'com.android.builder.model.ProductFlavorContainer com.android.tools.idea.gradle.project.model.AndroidModuleModel.findProductFlavor(java.lang.String)'
at com.nilsenlabs.flavormatrix.actions.AndroidModuleHelper.createMergedDimensionList(AndroidModuleHelper.kt:38)
我的构建环境是 IntelliJ IDEA 社区版 2020.2.4,Build #IC-202.8194.7
最初的目标版本是 Android Studio 版本 193.6911.18
我尝试将目标版本更新为 202.7660.26 (Android Studio 4.2.1) 无济于事
解决方案
方法已被新签名替换:
public IdeProductFlavorContainer findProductFlavor(@NotNull String name)
当没有为 Android Studio 4.2.x 发布新的 IDEA 目标库时,问题是让 IDEA 解决该类。解决方案:在build.gradle
本地安装中使用intellij.localPath
而不是intellij.version
感谢 Jetbrains 在此线程中的 Kuznetsov
推荐阅读
- python-3.x - 使用 Python 获取乳胶输出高度
- css - 子菜单比它应该下降了一行
- javascript - 直接使用 children 道具和使用 React.Children.toArray 方法的区别
- ios - Tableview Xib 阴影 Swift
- javascript - 使用 jQuery File Upload 上传文件时 JSON 输入错误意外结束
- docker - 如何使用 Singularity 3 构建/运行具有可写文件系统的容器?
- javascript - 传递 React 道具并作为 ObjectName.ObjectName 访问
- apache-spark - 为什么 Dataset.unpersist 级联到所有依赖的缓存数据集?
- c++ - reinterpret_cast 类型双关语实际上是未定义的行为吗?
- c# - DataGridView 中的搜索按钮或文本框