Gradle DSL方法未找到:storeFile()。

8
我将使用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 "#####"
        }
    }
}

Can anyone help?

1个回答

7

需要注意以下几点:

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) 方法放在哪里? - Leonard Febrianto
你不需要这样做,这是build.gradle引用的基础Java风格方法。 - stkent
1
那么这个问题的解决方案是什么呢?我只想将我的应用程序编译成APK格式,以便在真实设备上进行测试。 - Leonard Febrianto
@stkent 只需将 build.gradle 中包含 storeFile 的行替换为上述建议代码之一,或者如果 jks 文件已位于项目文件夹的根目录中,则直接输入 storeFile file("Students_tracking_keystore.jks"); 即可。 - ecle
@ecle刚看到这个,但我认为你的评论是针对楼主的 :) - stkent

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接