2013-05-22 23 views
5

Hey Sürüm modunda apk oluşturma ve imzalama konusunda zor zamanlar yaşıyorum. Google'ı maven kullanarak oluşturabiliyorum, ancak yüklemeye çalıştığımda, Google Play Store yayın modunda oluşturmam gerektiğini söylüyor.Maven kullanarak serbest bırakma modunda apk nasıl oluşturulur

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/maven-v4_0_0.xsd"> 
<modelVersion>4.0.0</modelVersion> 
<groupId>com.kannact4.gladstonesign</groupId> 
<artifactId>gladstonesign</artifactId> 
<version>1.0.0-SNAPSHOT</version> 
<packaging>apk</packaging> 
<name>Android Maven Example</name> 


<profiles> 
    <profile> 
    <id>release</id> 
    <activation> 
     <property> 
     <name>performRelease</name> 
     <value>true</value> 
     </property> 
    </activation> 
    </profile> 
    </profiles> 
<dependencies> 
    <dependency> 
    <groupId>com.google.android</groupId> 
    <artifactId>android</artifactId> 
    <version>2.2.1</version> 
    <scope>provided</scope> 
    </dependency> 
</dependencies> 
<build> 
    <finalName>unaligned-gladstonesign</finalName> 
    <sourceDirectory>src</sourceDirectory> 

    <pluginManagement> 
    <plugins> 
    <plugin> 
    <groupId>com.jayway.maven.plugins.android.generation2</groupId> 
    <artifactId>android-maven-plugin</artifactId> 
    <version>3.1.1</version> 
    <extensions>true</extensions> 
    </plugin> 
    <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-jarsigner-plugin</artifactId> 
     <version>1.2</version> 
     <configuration> 
      <keystore>C:\Project\Eclipse workspace\apk_key</keystore> 
      <alias>gs3key</alias> 
      <storepass>****</storepass> 
      <keypass>****</keypass> 
      <verbose>true</verbose> 
      <certs>true</certs> 
     </configuration> 
     </plugin> 
    </plugins> 
    </pluginManagement> 
    <plugins> 
    <plugin> 
    <groupId>com.jayway.maven.plugins.android.generation2</groupId> 
    <artifactId>android-maven-plugin</artifactId> 
    <configuration> 
    <sdk> 
     <platform>17</platform> 
    </sdk> 
    </configuration> 
    </plugin> 
    </plugins> 
</build> 
</project> 

kimse inşa modunda bırakın nasıl yardım eder misin: Burada

benim pom.xml nedir?

cevap

12

APK'nızın imzalanmış ve zipaligned olması gerekiyor. Bu nedenle, ilk önce jarsigner yürütmesini package fazına bağlamanız ve bir kez de android eklentinizde zipalign'u yapılandırmanız gerekir. maven-android-eklentisi karşı çalıştırmak için öğesinin içinde yanlış tanımını requied olarak http://www.simpligility.com/2010/07/sign-zipalign-and-to-market-to-market-with-maven/

<plugin> 
<groupId>org.apache.maven.plugins</groupId> 
<artifactId>maven-jarsigner-plugin</artifactId> 
<executions> 
    <execution> 
     <id>signing</id> 
     <goals> 
      <goal>sign</goal> 
      <goal>verify</goal> 
     </goals> 
     <phase>package</phase> 
     <inherited>true</inherited> 
     <configuration> 
      <removeExistingSignatures>true</removeExistingSignatures> 
      <archiveDirectory/> 
      <includes> 
       <include>${project.build.directory}/${project.artifactId}.apk</include> 
      </includes> 
      <keystore>${sign.keystore}</keystore> 
      <alias>${sign.alias}</alias> 
      <storepass>${sign.storepass}</storepass> 
      <keypass>${sign.keypass}</keypass> 
      <verbose>true</verbose> 
     </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> 
    <zipalign> 
     <verbose>true</verbose> 
     <inputApk>${project.build.directory}/${project.artifactId}.apk</inputApk> 
     <outputApk>${project.build.directory}/${project.artifactId}-signed-aligned.apk 
     </outputApk> 
     <skip>false</skip> 
    </zipalign> 
</configuration> 
<executions> 
    <execution> 
     <id>alignApk</id> 
     <phase>package</phase> 
     <goals> 
      <goal>zipalign</goal> 
     </goals> 
    </execution> 
</executions> 
</plugin> 
+0

daha yeni android-maven-plugin bakın, bunun varsayılan olarak devre dışıdır görünüyor! – PiersyP

+0

@PiresyP: teşekkürler. Cevabı güncelledim. – willome

+0

https://timestamp.geotrust.com/tsa adresinden jarsigner zaman damgasını işaretleyin ve böylece zaman damgası uyarısını önleyin. – JohnyTex