【问题标题】:Generate signed apk without typing key无需键入密钥即可生成签名的 apk
【发布时间】:2017-07-04 19:28:17
【问题描述】:

首先是我的signinConfigs:

signingConfigs {
        development {
            storeFile file("mykey.jks") //Path to the keystore file
            keyAlias "mykey"
            storePassword "mykeydev"
            keyPassword "mykeydev"
        }
        production {
            storeFile file("mykey.jks") //Path to the keystore file
            keyAlias "mykey"
            storePassword "mykeyprod"
            keyPassword "mykeyprod"
        }
}

现在是我的口味:

productFlavors {
    development{
        applicationId "br.com.myapp.dev"
        signingConfig signingConfigs.development
        resValue "string", "app_name", "DEV"
    }

    production {
        applicationId "br.com.myapp"
        signingConfig signingConfigs.production
        resValue "string", "app_name", "PROD"
    }
}

我在buildTypes下面这个:

buildTypes {
    release {
        minifyEnabled false
        productFlavors.production.signingConfig signingConfigs.production
        productFlavors.development.signingConfig signingConfigs.development
    }
}

这是我的问题,如果所有密钥和内容都在我的 .gradle 文件中,为什么每次我想生成一个新的签名 apk 文件时都要求我提供 keyPassword 和 storePassword? p>

【问题讨论】:

  • 在底部有一个Remember 选项,这样你就不用每次都输入了
  • @rafsanahmad007 问题是我会有很多口味,我会生成很多应用程序。在这种情况下,我不能总是使用相同的凭据
  • 你是如何生成签名的 apk 的。构建 -> 生成签名 Apk 的 ??
  • @abhishesh 是的,没有自动化的方法吗?
  • 使用构建变体,选择类型为发布,然后点击播放按钮。这将在 Project/build/outputs/apk/ 文件夹中生成签名的 apk 而无需输入密码

标签: android gradle android-gradle-plugin build.gradle signed-apk


【解决方案1】:

当您从“Build -> Generate Signed apk”构建时,您需要不时输入 Android 的工作室密码,但它会为您保存加密的密码。这是最安全的方法。

但由于您需要一种自动化方式,您可以使用“终端”视图,然后输入:./gradlew assembleRelease。 (如果您使用的是 Windows 机器,我认为是 gradlew assembleRelease)。

无论如何,不​​建议将密码写入 build.gradle 文件中:

android {

  signingConfigs {
    release {
        storeFile file('/your/keystore/location/key')
        keyAlias 'your_alias'
        keyPasswordString ps = System.getenv("ps")
        storePasswordif System.getenv("ps"ps == null) {
             throw new GradleException('missing ps env variable')
        }
        keyPassword ps
        storePassword ps
    }
}

【讨论】:

    【解决方案2】:

    如果您在 gradle 中提供了密钥库路径和凭据。然后按照以下步骤生成签名的 apk。

    1. 转到构建变体
    2. 选择构建变体作为发布版本
    3. 点击播放/运行按钮

    Apk 将发布在 Project/build/outputs/apk 文件夹中

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-27
      • 1970-01-01
      • 2017-12-16
      相关资源
      最近更新 更多