No signature of method: build_*.android() is applicable for argument types
【原因&方法】No signature of method: build 编译错误
报错原因为Android编译器build.gradle结构错误(如大小写错误,字符串连接错误以及大括号错位等结构错误)。
错误内容如下
Gradle sync failed: No signature of method: build_71obgku1x6khrlhtwrnh1rk4.android() is applicable for argument types: (build_71obgku1x6khrlhtwrnh1rk4
r
u
n
c
l
o
s
u
r
e
1
)
v
a
l
u
e
s
:
[
b
u
i
l
d
7
1
o
b
g
k
u
1
x
6
k
h
r
l
h
t
w
r
n
h
1
r
k
4
_run_closure1) values: [build_71obgku1x6khrlhtwrnh1rk4
runclosure1)values:[build71obgku1x6khrlhtwrnh1rk4_run_closure1@5da2e1db]
原因分析
报错原因为Android编译器build.gradle结构错误(如大小写错误,字符串连接错误以及大括号错位等结构错误)
需要逐句检查build.gradle所有代码结构是否存在错误,如下图我代码中的错误,大括号错位导致gradle结构异常。同样,若gradle的结构体名称以及一些字符串异常也同样会导致该报错
解决措施
调整‘china’后的大括号至下方productFlavors即可。当然同类报错,不一定只是该一种现象体现,比如:
- 大小写错误如 defaultConfig 写成 DefaultConfig.
- 层次结构不正确, 例如 ndk 应该在 defaultConfig 闭包中,但将ndk描述在了外部android结构中