Вопрос

I am trying to sign my .apk file with maven jarsigner.My pom's profile part is this:

        <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></archiveDirectory>
                                <includes>
                                    <include>target/*.apk</include>
                                </includes>
                                <keystore>/usr/lib/jvm/java-6-sun-1.6.0.24/jre/lib/security/cacerts</keystore>
                                <storepass>android</storepass>
                                <keypass>android</keypass>
                                <alias>mykey</alias>
                                <arguments>
                                  <argument>-sigalg</argument><argument>MD5withRSA</argument>
                                  <argument>-digestalg</argument><argument>SHA1</argument>
                                </arguments>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>com.jayway.maven.plugins.android.generation2</groupId>
                    <artifactId>android-maven-plugin</artifactId>
                    <inherited>true</inherited>
                    <configuration>
                        <sdk>
                    <platform>17</platform>
                    <path>/home/abc/ihsan/adt-bundle-linux-x86_64-20130522/sdk</path>
                </sdk>
                        <sign>
                            <debug>false</debug>
                        </sign>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    </profile>

i am using mvn install -Psign it does not give any clue about the error but there is a stacktrace:

    [ERROR] Failed to execute goal org.apache.maven.plugins:maven-jarsigner-plugin:1.2:sign (signing) on project kanbay: Failed executing '/bin/sh -c cd /home/abc/ihsan/my-'*****'-application && /usr/lib/jvm/java-6-sun-1.6.0.24/jre/../bin/jarsigner -sigalg MD5withRSA -digestalg SHA1 -keystore /usr/lib/jvm/java-6-sun-1.6.0.24/jre/lib/security/cacerts -storepass '*****' -keypass '*****' /home/abc/ihsan/my-'*****'-application/target/kanbay.apk mykey' - exitcode 1 -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-jarsigner-plugin:1.2:sign (signing) on project kanbay: Failed executing '/bin/sh -c cd /home/abc/ihsan/my-'*****'-application && /usr/lib/jvm/java-6-sun-1.6.0.24/jre/../bin/jarsigner -sigalg MD5withRSA -digestalg SHA1 -keystore /usr/lib/jvm/java-6-sun-1.6.0.24/jre/lib/security/cacerts -storepass '*****' -keypass '*****' /home/abc/ihsan/my-'*****'-application/target/kanbay.apk mykey' - exitcode 1
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:217)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
Caused by: org.apache.maven.plugin.MojoExecutionException: Failed executing '/bin/sh -c cd /home/abc/ihsan/my-'*****'-application && /usr/lib/jvm/java-6-sun-1.6.0.24/jre/../bin/jarsigner -sigalg MD5withRSA -digestalg SHA1 -keystore /usr/lib/jvm/java-6-sun-1.6.0.24/jre/lib/security/cacerts -storepass '*****' -keypass '*****' /home/abc/ihsan/my-'*****'-application/target/kanbay.apk mykey' - exitcode 1
    at org.apache.maven.plugins.jarsigner.AbstractJarsignerMojo.processArchive(AbstractJarsignerMojo.java:495)
    at org.apache.maven.plugins.jarsigner.AbstractJarsignerMojo.processArtifact(AbstractJarsignerMojo.java:372)
    at org.apache.maven.plugins.jarsigner.AbstractJarsignerMojo.execute(AbstractJarsignerMojo.java:197)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
    ... 19 more
[ERROR] 
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

There is some questions about maven jarsigner but it is not about my problem.do you have any idea what the problem is?

Это было полезно?

Решение

Instead of maven jarsigner, I used eclipse ADT's android tool. Like this:

Right click on the project --> Export --> Android --> Export Android Project --> some "next" --> Create New Keystore(Or use existing one) --> fill in the blanks

Your xxx.apk is ready. Then you should zip align your xxx.apk: zipalign -v 4 xxx.apk xxxOut.apk It is done.You should upload the xxxOut.apk to Google Play.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top