Build Unsigned APK with Gradle
You don't have to set any option, just run the usual task:
$ gradle assemble
This will generate two files in project/build/apk/
app-debug-unaligned.apk
app-release-unsigned.apk
To generate an unsigned apk do the following:
-
define a
signingConfig
with empty configuations like this:signingConfigs{ unsigned{ storePassword = "" keyAlias = "" keyPassword = "" } }
-
define in the
buildTypes
for your release Version with the unsigned Configuration:buildTypes{ release{ signingConfig signingConfigs.unsigned } }
I get this from the adt-dev group, where Xavier Ducrohet write:
The current behavior is to check that the signing config is fully configured(*) and if it is, it generates a signed APK, otherwise an unsigned APK.
(*) fully configured right now means the value for store, alias and passwords are present, but does not include that the keystore is present.
UPDATE 2013-12-19
As withoutclass mentioned this doesn't work with the gradle plugin version 0.6.3.
Anyway it's possible to generate an unsigned APK with gradle: just let the signingConfig entry of a flavor or buildType empty. It should look like this:
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'
}
}
just assign null to signingConfig
android {
buildTypes {
debug {
signingConfig null
}
}
}