我目前正在学习使用Gradle构建Android APK文件。如何在gradle中设置选项以构建未签名的APK文件?
我目前正在学习使用Gradle构建Android APK文件。如何在gradle中设置选项以构建未签名的APK文件?
您无需设置任何选项,只需运行常规任务即可:
$ gradle assemble
这将在项目/build/apk/中生成两个文件。
app-debug-unaligned.apk
app-release-unsigned.apk
myapp-debug.apk
位于<module>/build/outputs/apk
下。 - vault要生成未签名的apk,请执行以下操作:
定义一个空的signingConfig
配置,如下所示:
signingConfigs{
unsigned{
storePassword = ""
keyAlias = ""
keyPassword = ""
}
}
在您的发布版本中的buildTypes
中定义未签名配置:
buildTypes{
release{
signingConfig signingConfigs.unsigned
}
}
我从adt-dev小组中得到这个信息,其中Xavier Ducrohet写道:
当前的行为是检查签名配置是否完全配置(*),如果是,则生成已签名APK,否则生成未签名APK。
(*) 目前完全配置的意思是store、alias和passwords的值都存在,但不包括keystore的存在。
更新于2013-12-19
如withoutclass所提到的,这在gradle插件版本0.6.3中不起作用。
无论如何,可以使用gradle生成未签名APK:只需将flavor或buildType的signingConfig条目留空即可。它应该看起来像这样:
productFlavors{
// with this config you should get a "MyProject-flavorUnsigned-release-unsigned.apk"
flavorUnsigned{
versionCode = 9
packageName defaultPkgName
}
}
buildTypes{
// with this config you should get a "MyProject-release-unsigned.apk"
release{
packageNameSuffix '.release'
}
}
signingConfig
吗?这不是一个好的解决方案,因为构建变体的数量会增加... - owe只需将 signingConfig 指定为 null。
android {
buildTypes {
debug {
signingConfig null
}
}
}
myBuildType {
initWith debug
...
}