升级到 v22 后,signingConfigs 标签在 build.gradle 中给我一个 Lint 错误
signingConfigs tag giving me a Lint error in build.gradle after upgrading to v22
一段时间以来,我的 build.gradle(应用程序)文件中包含以下代码:
signingConfigs {
release {
storeFile file("D:\Android\keystore\myApp.jks")
storePassword "myStorePw"
keyAlias "myKeyAlias"
keyPassword "MyKeyPw"
}
}
我刚刚升级到targetSdkVersion=22,这意味着SDK和构建工具也升级到22。现在整个部分在 Android Studio (141.1793788) 中以黄色突出显示,并显示消息:
'signingConfigs' cannot be applied to '(groovy.land.Closure<com.android.build.gradle.internal.dsl.SigningConfig>)'
我需要了解 v22 中的变化吗?我找不到文档。
请尝试将您的 signingConfigs 部分移到更高的位置,就在下面:compileSdkVersion 和 buildToolsVersion。示例如下:
android {
compileSdkVersion 22
buildToolsVersion "22.0.1"
signingConfigs {
release {
storeFile file("D:\Android\keystore\myApp.jks")
storePassword "myStorePw"
keyAlias "myKeyAlias"
keyPassword "MyKeyPw"
}
}
}
正如@GDanger问的原因;所以原因很简单。在 gradle 脚本中定义变量时,请记住,不应在定义之前使用它。
我非常确定 OP 已经在 buildType
配置下定义了 signingConfigs
。正因为如此,他收到了警告信息。
我们做个实验来理解;在您的 gradle 脚本中写入以下代码:
def A = B;
def B = "I am test."
与 gradle:
同步时,您会看到此错误
Error:(3, 0) Could not find property 'B' on project ':app'.
<a href="openFile">Open File</a>
但是当你这样定义它时:
def B = "I am test."
def A = B;
您不会收到任何错误。所以我相信尝试这个小实验会让你明白在 gradle 脚本中编译是如何工作的。希望这会有所帮助。 :)
一段时间以来,我的 build.gradle(应用程序)文件中包含以下代码:
signingConfigs {
release {
storeFile file("D:\Android\keystore\myApp.jks")
storePassword "myStorePw"
keyAlias "myKeyAlias"
keyPassword "MyKeyPw"
}
}
我刚刚升级到targetSdkVersion=22,这意味着SDK和构建工具也升级到22。现在整个部分在 Android Studio (141.1793788) 中以黄色突出显示,并显示消息:
'signingConfigs' cannot be applied to '(groovy.land.Closure<com.android.build.gradle.internal.dsl.SigningConfig>)'
我需要了解 v22 中的变化吗?我找不到文档。
请尝试将您的 signingConfigs 部分移到更高的位置,就在下面:compileSdkVersion 和 buildToolsVersion。示例如下:
android {
compileSdkVersion 22
buildToolsVersion "22.0.1"
signingConfigs {
release {
storeFile file("D:\Android\keystore\myApp.jks")
storePassword "myStorePw"
keyAlias "myKeyAlias"
keyPassword "MyKeyPw"
}
}
}
正如@GDanger问的原因;所以原因很简单。在 gradle 脚本中定义变量时,请记住,不应在定义之前使用它。
我非常确定 OP 已经在 buildType
配置下定义了 signingConfigs
。正因为如此,他收到了警告信息。
我们做个实验来理解;在您的 gradle 脚本中写入以下代码:
def A = B;
def B = "I am test."
与 gradle:
同步时,您会看到此错误Error:(3, 0) Could not find property 'B' on project ':app'.
<a href="openFile">Open File</a>
但是当你这样定义它时:
def B = "I am test."
def A = B;
您不会收到任何错误。所以我相信尝试这个小实验会让你明白在 gradle 脚本中编译是如何工作的。希望这会有所帮助。 :)