Android APK Dosyasını Signed Ve Zipalign Yapmak
08-04-2014
Maven ile Android apk dosyasını zipalign yapmak için gereken ayarlar aşağıdaki gibidir:
Not: Android Java JDK 7 ile uyumluluk problemleri olabildiği için, aşağıdaki işlemler için JDK 6 kullanınız.
1. Öncelikle .keystore dosyası oluşturmak gereklidir:
keytool jdk bin klasöründeki bir exe dosyadır. Konsol(Command Prompt) üzerinden direkt olarak çalıştırmak için, ortam değişkenlerine eklemek gerekmektedir. Bu işlemi şu şekilde yapabilirsiniz:
2. Daha sonra ise pom.xml dosyasına aşağıdaki kodları eklemek gerekir:
Not: Android Java JDK 7 ile uyumluluk problemleri olabildiği için, aşağıdaki işlemler için JDK 6 kullanınız.
1. Öncelikle .keystore dosyası oluşturmak gereklidir:
keytool -genkey -v -keystore myCertificate.keystore -alias myKey -keyalg RSA -keysize 2048 -validity 20000
keytool jdk bin klasöründeki bir exe dosyadır. Konsol(Command Prompt) üzerinden direkt olarak çalıştırmak için, ortam değişkenlerine eklemek gerekmektedir. Bu işlemi şu şekilde yapabilirsiniz:
2. Daha sonra ise pom.xml dosyasına aşağıdaki kodları eklemek gerekir:
<profiles>
<profile>
<id>android-release</id>
<properties>
<sign.keystore>Url of .keystore file</sign.keystore>
<sign.alias>Your Alis Name</sign.alias>
<sign.storepass>Your Store Password</sign.storepass>
<sign.keypass>Your Key Password</sign.keypass>
</properties>
</profile>
</profiles>
<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>android-maven-plugin</artifactId>
<version>3.8.0</version>
<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>
</zipalign>
<device>usb</device>
<run>
<debug>true</debug>
</run>
<sdk>
<path>C:\adt-bundle-windows-x86-20140321\sdk</path>
<!--sdk dizini-->
<platform>13</platform>
</sdk>
<undeployBeforeDeploy>true</undeployBeforeDeploy>
</configuration>
<executions>
<execution>
<id>alignApk</id>
<phase>package</phase>
<goals>
<goal>zipalign</goal>
</goals>
</execution>
</executions>
</plugin>