2013-07-25 74 views
1

我嘗試登錄使用Maven jarsigner.My POM的個人資料部分我.apk文件是這樣的:錯誤簽名的APK與Maven的jarsigner

 <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> 

我使用mvn install -Psign 它沒有給出有關錯誤的任何線索但有一個堆棧跟蹤:

[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 

有關於Maven的jarsigner一些問題,但它不是我的problem.do你有什麼想法的問題是什麼?

回答

2

取而代之的是maven jarsigner,我使用了eclipse ADT的android工具。就像這樣:

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

你xxx.apk已準備就緒。然後,您應該對齊您的xxx.apk:zipalign -v 4 xxx.apk xxxOut.apk 完成。您應該將xxxOut.apk上傳到Google Play。

0

只是支持第一個人說的話。^

導出項目,它非常簡單。