【问题标题】:Gradle DSL method not found: storeFile()未找到 Gradle DSL 方法:storeFile()
【发布时间】:2015-05-19 08:45:27
【问题描述】:

我使用的是 Android Studio 1.1.0。当我尝试同步我的 Gradle 文件时,我收到以下错误:

Gradle DSL 方法未找到:storeFile()

这是我的 gradle 配置:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"

    defaultConfig {
        applicationId "skripsi.ubm.studenttracking"
        minSdkVersion 16
        targetSdkVersion 21
        versionCode 1
        versionName "1.0"
    }

    signingConfigs {
        release {
            storeFile (project.property("Students_tracking_keystore.jks") + ".keystore")
            storePassword "####"
            keyAlias "####"
            keyPassword "#####"
        }
    }
}

谁能帮忙?

【问题讨论】:

    标签: java android android-studio android-gradle-plugin


    【解决方案1】:

    有几点需要注意:

    storeFile DSL 方法具有以下签名:

    public DefaultSigningConfig setStoreFile(File storeFile)
    

    即它期望传入File。您可能需要在代码中放置File 构造函数,以确保您实际上正在创建File 对象。由于您当前没有传入文件,Gradle 抱怨它找不到具有适当签名的方法。

    其次,您当前在文件名中添加了两个后缀:.jks.keystore。根据您引用的文件的后缀,您应该只包含其中一个(可能是.jks,但您应该检查以确保)。

    简而言之,以下替换行之一可能适合您:

    storeFile file(project.property("Students_tracking_keystore") + ".keystore")
    

    storeFile file(project.property("Students_tracking_keystore") + ".jks")
    

    storeFile file(project.property("Students_tracking_keystore.keystore"))
    

    storeFile file(project.property("Students_tracking_keystore.jks"))
    

    【讨论】:

    • public DefaultSigningConfig setStoreFile(File storeFile) 应该放在哪里?
    • 你不知道,那是 build.gradle 引用的底层 java-style 方法。
    • 那么解决方案是什么?我只是想将我的应用程序构建到 apk 中,以便我可以在真实设备中对其进行测试。
    • @stkent 只需将 build.gradle 中包含 storeFile 的行替换为上述任何建议的代码,或者如果 jks 文件已经位于项目的根目录,则只需键入 storeFile file("Students_tracking_keystore.jks");文件夹。
    • @ecle 刚刚看到这个,但我认为你的评论是针对 OP 的 :)
    猜你喜欢
    • 2019-09-29
    • 2015-09-25
    • 2017-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多