【问题标题】:Gradle produces unsigned release apkGradle 生成未签名的发布 apk
【发布时间】:2014-03-03 20:01:26
【问题描述】:

我有一个具有以下结构的项目:

Root
    \__main_project
    |
    \__modules
       \__
       |  library1
       |   
       \__
          library2

我的 gradle 中有以下配置:

android {
    compileSdkVersion 19
    buildToolsVersion '19.0.0'

    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 19
    }

    signingConfigs {
        release {
            storeFile file('/home/home/.signing/test.keystore')
            storePassword 'testtest'
            keyAlias 'testtest'
            keyPassword 'testtest'
        }
    }

    buildTypes {
        release {
            signingConfig signingConfigs.release
        }
    }
}

为了构建我的项目,我运行以下命令:

./gradlew :main_project:assembleRelease

但它只产生 main_project-release-unsigned.apk

所以我的问题是为什么当我指定所有必需的配置时它会产生未签名的 apk。 谢谢。

【问题讨论】:

标签: android gradle


【解决方案1】:

Google 推荐的配置 build.gradle 文件的“官方”方式解释为here

基本上,您添加一个“signinConfig”,在其中指定密钥库的密码位置。 然后,在发布构建类型中,参考该签名配置。

...
android {
    ...
    defaultConfig { ... }
    signingConfigs {
        release {
            storeFile file("myreleasekey.keystore")
            storePassword "password"
            keyAlias "MyReleaseKey"
            keyPassword "password"
        }
    }
    buildTypes {
        release {
            ...
            signingConfig signingConfigs.release
        }
    }
}
...

然后使用“assembleRelease”任务构建应用程序。

【讨论】:

    【解决方案2】:

    试试./gradlew assembleRelease

    您可能还需要扩充 buildTypes 发布部分

    buildTypes {
        release {
            runProguard true
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.txt'
            signingConfig signingConfigs.release
            zipAlign true
        }
    }
    

    另请参阅How to create a release signed apk file using Gradle? 上的task askForPasswords,了解如何提示输入密码,以免密码存储在此文件中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-10
      • 1970-01-01
      • 2019-06-21
      相关资源
      最近更新 更多