簡體   English   中英

Gradle生成unsigned release apk

[英]Gradle produces unsigned release apk

我有一個具有以下結構的項目:

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

所以我的問題是,當我指定所有必需的配置時,它為什么會生成unsigned apk。 謝謝。

這里解釋按照Google的建議配置build.gradle文件的“官方”方式。

基本上,您添加了一個“signinConfig”,您可以在其中指定密鑰庫的密碼位置。 然后,在發布版本類型中,請參閱該簽名配置。

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

然后使用“assembleRelease”任務構建應用程序。

試試./gradlew assembleRelease

您也可能想要擴充buildTypes發布部分

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

另請參閱task askForPasswords關於如何使用Gradle創建發布的簽名apk文件? 如何提示輸入密碼,以便它們不存儲在此文件中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM