Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Build Unsigned APK with Gradle

Currently I'm trying to learn Gradle to build Android APKs. How to set an option in gradle to build an unsigned APK?

like image 279
Zul Avatar asked Jul 04 '13 09:07

Zul


3 Answers

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
like image 106
rafaello Avatar answered Nov 12 '22 07:11

rafaello


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'
    }
}
like image 32
owe Avatar answered Nov 12 '22 05:11

owe


just assign null to signingConfig

android {
  buildTypes {
    debug {
      signingConfig null
    }
  }
}
like image 11
Prakash Avatar answered Nov 12 '22 07:11

Prakash