我有一个有两种风格的Android应用程序:内部
和生产
,还有两种构建类型:debug
和发布
。
我正在尝试根据风格分配签名配置,根据文档,这是可行的。我寻找并找到了其他答案,但似乎都不管用。一切都在编译,但应用程序正在使用我机器本地的调试密钥库进行签名。
这是我的gradle文件:
android {
compileSdkVersion 22
buildToolsVersion "22.0.1"
defaultConfig {
minSdkVersion 14
targetSdkVersion 22
versionCode 1
versionName "1.0.0"
}
signingConfigs {
internal {
storeFile file("../internal.keystore")
storePassword "password"
keyAlias "user"
keyPassword "password"
}
production {
storeFile file("../production.keystore")
storePassword "password"
keyAlias "user"
keyPassword "password"
}
}
productFlavors {
internal {
signingConfig signingConfigs.internal
applicationId 'com.test.test.internal'
}
production {
signingConfig signingConfigs.production
applicationId 'com.test.test'
}
}
buildTypes {
debug {
applicationIdSuffix ".d"
}
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
variantFilter { variant ->
if (variant.buildType.name.equals('debug')
&& variant.getFlavors().get(0).name.equals('production')) {
variant.setIgnore(true);
}
}
}
注意:我也在使用classpath'com.android.tools.build: gradle: 1.1.3'
编译
似乎在默认情况下,Android在调试构建类型(Android调试密钥库)上设置了签名配置
,当为构建类型设置了签名配置时,将忽略
signingConfig
。
解决方案是在调试生成类型上将
签名配置
设置为 null
。然后,将为该风格提供的签名配置
将改用:
buildTypes {
debug {
// Set to null to override default debug keystore and defer to the product flavor.
signingConfig null
applicationIdSuffix ".d"
}
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
3.4.3 签名配置 要对一个应用签名,要求如下: 一个 keystore 一个 keystore 的密码 一个 key 的别名 一个 key 的密码 存储类型 位置、key 别名、key 密码以及存储类型一起组成了签名配置( SigningConfig 类型) 默认情况下, 已经有了一个 debug 的签名配置,它使用了 debug keystore,该 keystore 有一个已知的密码和默认
签名一个应用程序需要以下文件(查看 Signing Your Application 了解更多 APK 签名的知识): keystore 文件 keystore 密码 key alias key 密码 签名文件的类型 签名文件的路径、类型、key 名及一组密码构成了 SigningConfig。默认情况下,debug 使用 debug keystore,debug keystore 使用默认的 s
对一个应用程序签名需要以下: 一个Keystory 一个keystory密码 一个key的别名 一个key的密码 存储类型 位置,键名,两个密码,还有存储类型一起形成了签名配置。 默认情况下,debug被配置成使用一个debug keystory。 debug keystory使用了默认的密码和默认key及默认的key密码。 debug keystory的位置在$HOME/.android/deb
前面我们讲了 Gradle 在 Android 项目中的配置,我们提到有一个闭包 signingConfigs 是配置 Android 应用签名信息的。那么今天我们就来讲讲如何通过 AndroidStudio 对 APK 进行签名。 1. 新建 keyStore 文件 我们下面一步步带大家,用 AndroidStudio 来配置签名。 首先顶部菜单栏找到 Build 点击他我们会看到 Genera
我已经查看了两个SO线程,并且没有一个线程为此错误消息选择了答案,因为没有答案候选者确切地解决了它。 我已经成功地将两个上传到Google Play商店进行beta测试,并且没有遇到任何问题。 我现在唯一的问题是:我有两个构建变体的版本。我是否需要出于任何原因版本? 如果没有,很好。结案了。 不过,如果我确实需要发布版本,我需要帮助。 * 编辑 * 还行。我需要发布版本。下面第一个答案中的链接说:
当我试图构建我的手机游戏时,我得到了这样一条信息: