当前位置: 首页 > 知识库问答 >
问题:

“签名配置应在Gradle构建脚本中指定”。。。我做到了

黄修永
2023-03-14

当我来签署我的申请时,我有一个大问题:我已经根据文档设置了签名配置:

signingConfigs {
    release {
        storeFile file("lomapnew.keystore")
        storePassword "myPassword"
        keyAlias "myAlias"
        keyPassword "Something...."
    }
}

但我仍然收到这样的错误消息:“签名配置应该在Gradle构建脚本中指定”

共有3个答案

夔波
2023-03-14

答案已经给出,但我想强调其他方式,我们可以像下面这样手动指定信息,我们必须像这样指定密钥库位置的完整路径

signingConfigs {
    release {
        storeFile file('O:/Android/Projects/yourKeyStore.jks')
        storePassword "qwerty"
        keyAlias "yourProjectKeyAlias"
        keyPassword "ProjectKeyPassword"
    }
}

如果您进入,也可以在签名报告中指定

文件--

选择您的项目应用程序模块并选择您可以填写信息的签名报告,它将自动在gradle文件中添加以前的发布信息。

最后,您只需添加

signingConfig android.signingConfigs.release

在buildTypes{…}中部分这将完成签名程序。

苏弘盛
2023-03-14

我喜欢在构建文件中保留密码。因此,我创建了一个加载时使用的属性文件

def keystorePropertiesFile = rootProject.file("./local.properties")
def keystoreProperties = new Properties()
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))

然后我定义signingConfigs如下:

   signingConfigs {
    releaseSigning {
        storeFile file(keystoreProperties['storeFile'])
        storePassword keystoreProperties['keystore.live.storepassword']
        keyAlias = keystoreProperties['keystore.live.keyalias']
        keyPassword = keystoreProperties['keystore.live.keypassword']
    }
    debugSigning {
        storeFile file(keystoreProperties['storeFile'])
        storePassword keystoreProperties['keystore.debug.storepassword']
        keyAlias = keystoreProperties['keystore.debug.keyalias']
        keyPassword = keystoreProperties['keystore.debug.keypassword']
    }
}

这不适用于菜单选项“创建签名apk”,所以我创建了口味:

    productFlavors {
    mydebug {
        signingConfig signingConfigs.debugSigning
    }
    myrelease {
        signingConfig signingConfigs.releaseSigning
    }
}

现在signingconfigs与工具栏上的run按钮一起工作。对于默认密钥库,local.properties如下所示

ndk.dir=/opt/sdk/ndk-bundle
sdk.dir=/opt/sdk
storeFile=/home/christine/.android/debug.keystore
keystore.debug.storepasswd=android
keystore.debug.keyalias=androiddebugkey
keystore.debug.keypassword=android
keystore.live.storepasswd=android
keystore.live.keyalias=androiddebugkey
keystore.livetest.keypassword=android

在Jenkins构建脚本中,需要从本地创建符号链接。属性文件位于生成服务器上的位置。

宰父飞白
2023-03-14

我要冒险猜测您还没有为发布构建类型设置签名配置。调试构建类型是自动的,因此这对于所有其他构建类型(包括发布)来说并不明显是必要的步骤。

您可以这样应用签名配置:

android {
    signingConfigs {
        // It's not necessary to specify, but I like to keep the debug keystore
        // in SCM so all our debug builds (on all workstations) use the same
        // key for convenience
        debug {
            storeFile file("debug.keystore")
        }
        release {
            storeFile file("release.keystore")
            storePassword "myPassword"
            keyAlias "myAlias"
            keyPassword "Something...."
        }
    }

    buildTypes {
        /* This one happens automatically
        debug {
            signingConfig signingConfigs.debug
        }
        */
        release {
            signingConfig signingConfigs.release
        }
    }
}
 类似资料:
  • 签名一个应用程序需要以下文件(查看 Signing Your Application 了解更多 APK 签名的知识): keystore 文件 keystore 密码 key alias key 密码 签名文件的类型 签名文件的路径、类型、key 名及一组密码构成了 SigningConfig。默认情况下,debug 使用 debug keystore,debug keystore 使用默认的 s

  • 3.4.3 签名配置 要对一个应用签名,要求如下: 一个 keystore 一个 keystore 的密码 一个 key 的别名 一个 key 的密码 存储类型 位置、key 别名、key 密码以及存储类型一起组成了签名配置( SigningConfig 类型) 默认情况下, 已经有了一个 debug 的签名配置,它使用了 debug keystore,该 keystore 有一个已知的密码和默认

  • 主要内容:Gradle如何使用Groovy,Groovy的JDK方法,以下是纠正/补充内容:Gradle构建脚本文件用来处理两件事情:一个是项目和另一个的任务。每个生成表示一个或多个项目。一个项目表示一个JAR库或Web应用程序,也可能表示由其他项目产生的JAR文件组装的ZIP。简单地说,一个项目是由不同的任务组成。一个任务是指构建执行的一块工作。任务可能是编译一些类,创建一个,产生的或发布一些归档文件库。 注:Gradle使用Groovy语言编写脚本。 Gradle提供了一个域特定语言

  • 前面我们讲了 Gradle 在 Android 项目中的配置,我们提到有一个闭包 signingConfigs 是配置 Android 应用签名信息的。那么今天我们就来讲讲如何通过 AndroidStudio 对 APK 进行签名。 1. 新建 keyStore 文件 我们下面一步步带大家,用 AndroidStudio 来配置签名。 首先顶部菜单栏找到 Build 点击他我们会看到 Genera

  • 我按照以下指南将项目分为模块/子项目: https://docs.gradle.org/current/userguide/multi_project_builds.html 在主脚本中,我应用子项目的配置: 如果我从根build目录运行子项目build,这会很好: (成功构建

  • 问题内容: 我有一个Gradle构建脚本,该脚本必须实例化Task中的Java类并在创建的对象上调用方法。目前,我有以下内容: 问题是找不到该类。我阅读了有关如何在Gradle中使用Groovy类的文章,但是我需要Java类来自外部JAR文件。如何将jar添加到构建源?似乎该块没有执行我期望的操作。谁能给我一个正确方向的提示? 问题答案: 该依赖关系作为项目依赖关系而不是脚本依赖关系本身添加。您需