Signing your app
Android requires that all apps be digitally signed with a certificate before they can be installed. To install a release version of your app on a device it will need to signed. Thankfully signing an app is relatively straightforward.
Step 1: Generate a private key
To generate a private key enter the following into your terminal, making sure to replace
myexample with the desired keystore name, and
examplekey with the desired alias. You will then be prompted to answer some questions in order to generate the key.
keytool -genkey -v -keystore myexample.keystore -alias examplekey -keyalg RSA -keysize 2048 -validity 10000
Step 2: Update the app build.gradle
signingConfig block to your app's build.gradle file. Set the
storeFile field to the location of your keystore. Set the
keyPassword fields to their respective values. Finally set the
signingConfig field in the
release block to
Keeping your signing credentials secure
If you use a hosted git repository service like GitHub you might not want to commit your keystore and password details for security reasons. You can do this by using a gradle.properties file.
Step 1: Create a gradle.properties file
Create a file named gradle.properties in the root level of your project directory.
Step 2: Specify the fields in the gradle.properties file
myExampleKeyPassword fields to the gradle.properties file, and set them to their respective values.
Step 3: Update the app build.gradle
Change the values of the
keyPassword to reference the values stored in the gradle.properties file
Step 4: Update .gitignore
Add gradle.properties to your projects .gitignore file. So that it doesn't get tracked by git. This ensures that your signing credentials will only be stored locally on your machine.
Check out this project for an example of how to sign your app's release build.