没有方法签名: .android() 适用于参数类型。 build.gradle(应用程序)中的异常
Posted
技术标签:
【中文标题】没有方法签名: .android() 适用于参数类型。 build.gradle(应用程序)中的异常【英文标题】:No signature of method: .android() is applicable for argument types. Exception in build.gradle (app) 【发布时间】:2021-07-28 19:12:54 【问题描述】: 例外是: org.gradle.api.GradleScriptException:评估项目“:app”时出现问题原因:groovy.lang.MissingMethodException:没有方法签名:build_h12dou32x8mktsbcdinr8fpc.android() 适用于参数类型:(build_h12dou32x8mktsbcdinr8fpc$_run_closure1) 值:[build_h12dou32x8mktsbcdinr8fpc$_run_closure1@1630dea1]
【问题讨论】:
清理您的项目 生成已签名的捆绑包/.apk 文件 取消选中“记住密码” 手动将密码输入“密钥存储密码”和“密钥密码”单击下一步,您就完成了! 【参考方案1】:我得到了解决方案。 项目中有一个图书馆,
plugins
id 'com.android.library'
在库的 build.gradle 文件中。 我也加了,
plugins
id 'com.android.library'
在 app 的 build.gradle 文件中。 它导致了这个错误。 我改回了,
plugins
id 'com.android.application'
这解决了我的问题。
【讨论】:
所以最后,应用模块将有id 'com.android.application'
,而库模块将有id 'com.android.library'
?我仍然坚持这个问题【参考方案2】:
在我的例子中,build.gradle(app) 中有一个不需要的字符(分号)
我删除了它并重新构建了项目
问题解决了。
【讨论】:
【参考方案3】:我正在使用 -
(在 build.gradle 中)
“versionCode”为 RN-2(* 就像我在 React Native 中开发的那样)
然后我尝试将“versionCode”设置为 3.1,但这也引发了错误
然后我用 -
versionCode 4
这一次构建成功
我的学习 -> versionCode 应该是整数*
【讨论】:
【参考方案4】:在从 aaptOptions
迁移到 androidResources
时,我在迁移到 AGP 7.0 时遇到了同样的问题。
对我来说,替换就足够了
androidResources
noCompress '...'
与
aaptOptions
noCompress '...'
【讨论】:
感谢您的贡献,非常感谢您在 2 小时的努力寻找问题后的回答。 返回是一种返回方式吗?建议从aapt升级到android资源【参考方案5】:就我而言,我正在使用productFlavors
,设置一个布尔属性。我忘了用撇号包围布尔值。
所以我改变了这个
productFlavors
normal
flavorDimension "access"
buildConfigField 'boolean', 'IS_ADMIN', false
admin
flavorDimension "access"
buildConfigField 'boolean', 'IS_ADMIN', true
到这里
productFlavors
normal
flavorDimension "access"
buildConfigField 'boolean', 'IS_ADMIN', 'false'
admin
flavorDimension "access"
buildConfigField 'boolean', 'IS_ADMIN', 'true'
【讨论】:
【参考方案6】:我在迁移到 'com.android.tools.build:gradle:7.0.0'
时遇到了同样的问题
我删除了代码:
javaCompileOptions
annotationProcessorOptions
arguments = [fragmentArgsLogWarnings: 'false']
includeCompileClasspath true
这里是关于如何为 kapt 再次添加它的说明 https://github.com/sockeqwe/fragmentargs#annotation-processor-options
【讨论】:
【参考方案7】:对此没有唯一的答案,只是build.gradle
文件中的语法错字。
【讨论】:
【参考方案8】:错误可能有很多来源。一个最常见的原因是 build.gradle 文件中的语法错误,并且没有简单的方法来发现它。
我的建议。 从另一个项目的工作 build.grade 文件中复制代码并替换引发错误的部分。
【讨论】:
【参考方案9】:kotlinOptions
lambda 在我的情况下导致错误。
android
...
kotlinOptions
jvmTarget = "11"
...
当我移除它时 - 一切又开始恢复正常。
【讨论】:
【参考方案10】:我的解决方案是评论 android
部分中的所有元素,同步和构建,然后取消评论。它奏效了。
【讨论】:
【参考方案11】:处理这个问题的最佳方法是在android ...
块中开始注释不同的方法/块,直到配置移过.android()
错误并且您会知道是哪个块导致它。在我的情况下,它是 buildTypes ...
块中已弃用的方法。
【讨论】:
【参考方案12】:我遇到了这个错误No signature of method: build_eux4i9fuz78eb5ojbn76y01n5.android() is applicable for argument types
改了就解决了
buildFeatures
dataBinding true
到
dataBinding
enabled = true
我认为该错误是kotlin插件版本和gradle版本之间版本冲突的原因。
【讨论】:
以上是关于没有方法签名: .android() 适用于参数类型。 build.gradle(应用程序)中的异常的主要内容,如果未能解决你的问题,请参考以下文章
没有方法签名: build_9oqkz1yq0b57t4arqvsiar91y.android() 适用于参数类型:
groovy.lang.MissingMethodException:没有方法签名:com.x.License.add()适用于参数类型:(com.x.License)值
如何修复错误:没有方法签名:build_ap86oam3dut3pxce3x49rdtma.android()?