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>