我想让我的Gradle构建使用Gradle创建一个发布签名的apk文件.
我不确定代码是否正确或者我在做gradle build什么时缺少参数?
这是我的gradle文件中的一些代码:
android {
...
signingConfigs {
release {
storeFile file("release.keystore")
storePassword "******"
keyAlias "******"
keyPassword "******"
}
}
}
Run Code Online (Sandbox Code Playgroud)
gradle构建完成SUCCESSFUL,在我的build/apk文件夹中我只看到...-release-unsigned.apk和...-debug-unaligned.apk文件.
关于如何解决这个问题的任何建议?
我的Android应用程序有很多种,我希望除了一个以外的所有应用程序都使用相同的密钥.有一个需要使用不同的密钥.
如何覆盖signingConfig应用程序的1种风格(但在相同的构建类型中,例如"发布")?
gradlew assembleRelease命令运行所有发布版本最后一点非常重要,因为我目前有超过120种不同的口味和成长.为了单独定制每一种风味,需要做很多额外的工作.
相关帖子我试过:
signingConfig反正buildTypes内部,productFlavors但我不明白如何做到这一点.总的来说,每个解决方案似乎仍然使用默认的发布配置,而不是我的自定义配置.
我的重要部分build.gradle看起来像这样:
signingConfigs {
releaseConfig {
storeFile file('key')
storePassword "pass"
keyAlias "alias"
keyPassword "pass"
}
custom {
storeFile file('custom_key')
storePassword "pass"
keyAlias "alias"
keyPassword "pass"
}
}
productFlavors {
apple {
applicationId "demo.apple"
}
banana {
applicationId "demo.banana"
}
// …Run Code Online (Sandbox Code Playgroud) 我有一个有2种口味的Android应用程序:internal而且production,还有2种构建类型:debug和release.
我正在尝试根据风格分配签名配置,根据文档是可行的.我看了之后发现了其他答案,但似乎都没有.所有内容都会编译,但应用程序正在使用本机的本地调试密钥库进行签名.
这是我的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 …Run Code Online (Sandbox Code Playgroud) 我最近将Android Studio从0.6更新到0.8.6,似乎已经删除了指定默认"运行"配置的能力(或者移动到我需要帮助查找的位置).我可以在调试或发布模式下生成签名的APK(生成向导已更改为允许我在此时选择构建变体)但似乎无法找到如何选择一般的构建变体使用.换句话说,当我单击"运行"时,gradle会assembleRelease在我需要运行时执行assembleDebug.知道怎么改变这个吗?
编辑:当我选择"调试"而不是"运行"gradle仍然选择运行assembleRelease,所以我得到这个错误
Cannot debug application com.caseybrooks.scripturememory on device lge-vs985_4g-VS9854Gc824b3f1.
This application does not have the debuggable attribute enabled in its manifest.
If you have manually set it in the manifest, then remove it and let the IDE automatically assign it.
If you are using Gradle, make sure that your current variant is debuggable.
Run Code Online (Sandbox Code Playgroud)
但是,如果我将debuggable="true"属性添加到清单中,则构建将失败.我的build.gradle是否正确?
apply plugin: 'android'
android {
compileSdkVersion 19
buildToolsVersion '19.1.0'
defaultConfig {
minSdkVersion 8
targetSdkVersion 19
} …Run Code Online (Sandbox Code Playgroud) 我想从如下local.properties文件中检索密钥:
sdk.dir=C\:\\Users\\i30mb1\\AppData\\Local\\Android\\Sdk
key="xxx"
Run Code Online (Sandbox Code Playgroud)
并将这个值保存在我的BuildConfig.javavia gradle Kotlin DSL 中。稍后可以从我的项目中访问此字段。
我需要使用特定的签名配置来签署产品风格。我在 stackoverflow 上找到了一些参考资料,例如this和this。它适用于我的风味发布版本,但不适用于调试版本。我在 gradle 中有这样的配置:
...
signingConfigs {
release {
storeFile file("../config/keystores/release_keystore")
storePassword "mysecurepassword"
keyAlias "myultrasecurealias"
keyPassword "myreallysecurekeypassword"
}
debug {
storeFile file("../config/keystores/debug.keystore")
storePassword "mysecurepassword"
keyAlias "myultrasecurealias"
keyPassword "myreallysecurekeypassword"
}
other {
storeFile file("../config/keystores/other")
storePassword "mysecurepassword"
keyAlias "myultrasecurealias"
keyPassword "myreallysecurekeypassword"
}
}
flavorDimensions "dim"
productFlavors {
production {
dimension "dim"
}
other {
dimension "dim"
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
productFlavors.other.signingConfig signingConfigs.other
productFlavors.production.signingConfig signingConfigs.release
}
debug {
productFlavors.other.signingConfig signingConfigs.other
productFlavors.production.signingConfig …Run Code Online (Sandbox Code Playgroud) android code-signing gradle build.gradle android-gradle-plugin