Signing APK with the Maven-Jar-Signer Plugin

April 17th, 2010 by

There is a nice Maven plugin helping you signing your Android app – the Maven Jar Signer Plugin. If you want to learn more about Maven integration in an android project take a look at this article.

 

Maven Profile Setup

Add the following code to your pom.xml

<?xml version="1.0"?>
<profiles>
    <profile>
        <id>sign</id>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jarsigner-plugin</artifactId>
                    <version>1.2</version>
                    <executions>
                        <execution>
                            <id>signing</id>
                            <goals>
                                <goal>sign</goal>
                            </goals>
                            <phase>package</phase>
                            <inherited>true</inherited>
                            <configuration>
                                <archiveDirectory/>
                                <includes>
                                    <include>target/*.apk</include>
                                </includes>
                                <keystore>path/to/keystore</keystore>
                                <storepass>storepasword</storepass>
                                <keypass>keypassword</keypass>
                                <alias>key-alias</alias>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>com.jayway.maven.plugins.android.generation2</groupId>
                    <artifactId>maven-android-plugin</artifactId>
                    <inherited>true</inherited>
                    <configuration>
                        <sign>
                            <debug>false</debug>
                        </sign>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    </profile>
</profiles>

Signing

Trigger the profile with the following command

mvn install -Psign

Other Goals

  • jarsigner:sign – signs your project’s artifacts
  • jarsigner:verify – verifies the project’s artifact

Useful command line options:

  • Disable the plugin
    mvn -Djarsigner.skip=true
  • Disable attachment processing
    mvn -Djarsigner.attachments=false

Resources

Article Updates

  • 2015-03-03: Table of contents and headings added.

    Tags: , , , , , , , ,

    One Response to “Signing APK with the Maven-Jar-Signer Plugin”

    1. Automating android application signing and zipaligning with maven | James Elsey Says:

      [...] has already been covered, in a useful post by the guys at Novoda, and various other blog posts scattered around the web. I’ve followed at least 10 tutorials and each time I was unable to [...]

    Leave a Reply

    Please note, that no personal information like your IP address is stored and you're not required to enter you real name.

    Comments must be approved before they are published, so please be patient after having posted a comment - it might take a short while.

    Please leave these two fields as-is:
    Search
    Categories