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

© 2019 Tüm Hakları Saklıdır. Codesenior.COM