【问题标题】:Build.gradle could not resolve symbol.Emulator won't start because of thatBuild.gradle 无法解析符号。模拟器因此无法启动
【发布时间】:2014-04-28 11:31:12
【问题描述】:

Gradle 'MyApplication' 项目刷新失败: 构建脚本错误,发现不受支持的 Gradle DSL 方法:'signingConfigs()'! 可能的原因可能是:
- 您正在使用该方法不存在的 Gradle 版本 - 您没有应用提供该方法的 Gradle 插件 - 或者构建脚本中有错误

这是我的事件日志正在写的内容。请帮助我!!我应该做什么 这是一个代码:

buildscript {
repositories {
    mavenCentral()
}
dependencies {
    classpath 'com.android.tools.build:gradle:0.7.+'
}
}


allprojects {
repositories {
    mavenCentral()
}
}
 apply plugin: "android"
 android {
compileSdkVersion 19
buildToolsVersion "19.0.0"
}

signingConfigs {

    release {

        storeFile file('android.keystore')
        storePassword "pwd"
        keyAlias "alias"
        keyPassword "pwd"
    }
}

buildTypes {

    release {

        signingConfig signingConfigs.release
    }
}

附:在我应用从“应用插件:'android'”开始的代码之后。所以,当我用鼠标关注此代码时,它会显示“无法解析符号“signingConfig””

【问题讨论】:

    标签: java android android-studio build.gradle


    【解决方案1】:

    错误消息“Main manifest missing from...”表示它正在给定位置查找 Android 项目,但没有找到。在这种情况下,它是顶级构建文件,也就是您在问题中发布的那个:它现在有一个 apply plugin: "android" 声明,并且期望在那里看到一个 Android 项目。但是那里没有项目;它在您的应用程序模块内,是一个较低的目录级别。

    此文件不是签名信息应该存放的文件;它属于您的应用程序模块的构建文件。将您的顶级构建文件恢复到正常状态:

    // Top-level build file where you can add configuration options common to all sub-projects/modules.
    
    buildscript {
        repositories {
             mavenCentral()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:0.7.+'
        }
    }
    
    
    allprojects {
        repositories {
            mavenCentral()
        }
    }
    

    并将签名信息放入您应用的 build.gradle 文件的 android 块中:

    apply plugin: 'android'
    
    android {
        ...
        signingConfigs {
            release {
                storeFile file('android.keystore')
                storePassword "pwd"
                keyAlias "alias"
                keyPassword "pwd"
            }
        }
    
        buildTypes {
            release {
                signingConfig signingConfigs.release
            }
        }
    }
    

    此外,还可以考虑升级到更高版本的 Android Studio。你运行的那个已经很老了。

    【讨论】:

      【解决方案2】:

      您的signingConfigsbuildTypes 必须在android 标签元素内。

      进行更改后,您的 build.gradle 文件将如下所示:

       buildscript {
         repositories {
           mavenCentral()
         }
         dependencies {
           classpath 'com.android.tools.build:gradle:0.7.+'
         }
       }
       allprojects {
         repositories {
           mavenCentral()
         }
       }
      
       apply plugin: "android"
       android {
          compileSdkVersion 19
          buildToolsVersion "19.0.0"
      
          defaultConfig {
            minSdkVersion 8
            targetSdkVersion 19       
          }
      
          signingConfigs {
            release {
              storeFile file('android.keystore')
              storePassword "pwd"
              keyAlias "alias"
              keyPassword "pwd"
            }
          }
          buildTypes {
            release {
              signingConfig signingConfigs.release
            }
          }
        }
      

      【讨论】:

      • 我和你写的一样,但是,事件日志显示这个:Gradle 'MyApplication' 项目刷新失败:C:\Users\ww\AndroidStudioProjects\MyApplication\src\main 中缺少主清单\AndroidManifest.xml
      猜你喜欢
      • 2023-01-09
      • 2013-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-17
      • 2018-11-11
      • 2017-02-16
      相关资源
      最近更新 更多