我在生成要上传到Google Play商店的新apk时出现问题。
最近我选择使用gradle来直接签署发布apk。为此,我正在阅读一个属性文件,其中包含有关用于签署apk的密钥库的所有详细信息。 以前我使用IntelliJ的向导来发布apk。
似乎向导以不同于gradle的方式签署apk,因此我无法将新apk上传到Google Play。
PS:gradle生成的apk是[root project] [root module] \ build \ outputs \ apk \
有没有人知道我做错了什么,或者是否使用其他方法对apk进行签名,从而使其与通过向导签名的方法不同。
答案 0 :(得分:1)
我的问题似乎与我如何实现build.gradle有关。我修复了它,当你想为每种风格设置不同的密钥库时,它应该是这样的:
signingConfigs {
println 'Sign apk config'
falvor1 {
/** Details for signing the application */
def props = new Properties()
props.load(new FileInputStream(rootProject.file("release.properties.flavor1")))
storeFile file(rootProject.file(props.keyStore))
storePassword props.keyStorePassword
keyAlias props.keyAlias
keyPassword props.keyAliasPassword
}
flavor2 {
/** Details for signing the application */
def props = new Properties()
props.load(new FileInputStream(rootProject.file("release.properties.flavor2")))
storeFile file(rootProject.file(props.keyStore))
storePassword props.keyStorePassword
keyAlias props.keyAlias
keyPassword props.keyAliasPassword
}
}
/** Add product flavours for all variants of application */
productFlavors {
flavor1 {
// Update the application ID/ Package name
applicationId "com.my.application.flavor1"
/* Update the version code & version name */
versionCode 100
versionName "1.0.0.1"
}
flavor2 {
// Update the application ID/ Package name
applicationId "com.my.application.flavor2"
/* Update the version code & version name */
versionCode 200
versionName "2.0.0.2"
}
}
buildTypes {
debug {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
zipAlign true
}
release {
//Only use the release key on a release buildType
productFlavors.flavor1.signingConfig signingConfigs.flavor1
productFlavors.flavor2.signingConfig signingConfigs.flavor2
runProguard true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
zipAlign true
}
}
release.properties.flavor 结构
// Name of the keystore file
keyStore=flavor1.keystore
// keystore password
keyStorePassword=flavor1pass
// Key alias
keyAlias=flavor1_alias
// Key password
keyAliasPassword=flavor1pass