Android için kod imzası

Bu makale, Android (APK) uygulamanızı Power Apps sarma için manuel olarak nasıl kod imzalayacağınızı açıklıyor. Paketleme projenizi oluştururken ve derlerken platformlardan biri olarak Android'i seçerseniz uygulamanızı Android için imzalayın.

Önemli

Bir AAB uygulamasını Google Play dağıtımı için imzalamak üzere Uygulamanızı imzalama bölümüne bakın.

Başlamadan önce

Gerekli yazılım

Başlamadan önce yükleyin ve ayarlayın:

Önkoşullar

Şunlara sahip olmanız gerekir:

  • Karma anahtarı oluşturmak için uygulama adı.
  • En son APK dosyası ile oturum açmak için.

Uyarı

Manuel imzalama için .jks uzantısını, otomatik imzalama için .pfx uzantısını kullanın.

Anahtar ve imza karmasını oluştur

Uyarı

Uygulama kaydını oluştururken anahtarları ve imza karmasını zaten oluşturduysanız Manuel imzalama'ya geçin.

Ortam değişkenlerini ayarlama

Ortam değişkenlerini ayarlamazsanız:

  1. Android Studio ve OpenSSL'i indirme ve yükleme
  2. PATH ortam değişkeninize keytool ve openssl ekleyin:
    • PATH'inize C:\Program Files\Android\Android Studio\jbr\bin ekleyin.
    • openssl.exe yolunu (örneğin, C:\Program Files\OpenSSL-Win64\bin) PATH'inize ekleyin.

Manuel imzalama süreci için

İmza karma anahtarı ve sertifika oluşturma

Komut isteminde şu komutu çalıştırın:

keytool -genkey -alias powerappswrap -keyalg RSA -keystore powerappswrap.jks -keysize 2048 -validity 10000

Sorulduğunda:

  1. Anahtar deponuz için bir parola girin.
  2. Adınızı, kuruluşunuzu, konumunuzu ve diğer gerekli ayrıntıları girin.
  3. Bilgileri onaylayın.

Anahtar ve sertifika oluşturmak için şu komutu çalıştırın:

keytool -exportcert -alias powerappswrap -keystore powerappswrap.jks | openssl sha1 -binary | openssl base64

İstendiğinde, daha önce oluşturduğunuz anahtar deposu parolasını girin.

Daha önce gösterilen örnekteki parametreleri kullanarak keytool komutunun kullanıldığı bir ekran görüntüsü.

Parametrelerin açıklaması:

Parametre Açıklama
genkey Anahtar üretme komutu
alias Anahtar deposu girişi için takma ad
keyalg Anahtar algoritması adı
keystore keystore'un adı
keysize Her anahtarın boyutu
geçerlilik Anahtarın gün cinsinden geçerliliği
exportcert Sertifikayı anahtar deposundan okur
openssl Android için SHA1 anahtarı üretir

Otomatik anahtar kasası imzalama işlemi için

İmza karma anahtarı ve sertifika oluşturma

Komut isteminde şu komutu çalıştırın:

keytool -genkey -alias powerappswrap -keyalg RSA -keystore powerappswrap.pfx -keysize 2048 -validity 10000

Sorulduğunda:

  1. Anahtar deponuz için bir parola girin.
  2. Adınızı, kuruluşunuzu, konumunuzu ve diğer gerekli ayrıntıları girin.
  3. Bilgileri onaylayın.

Anahtar ve sertifika oluşturmak için şu komutu çalıştırın:

keytool -exportcert -alias powerappswrap -keystore powerappswrap.pfx | openssl sha1 -binary | openssl base64

İstendiğinde, daha önce oluşturduğunuz anahtar deposu parolasını girin.

Daha önce gösterilen örnekteki parametreleri kullanan keytool komutunun ekran görüntüsü.

Parametrelerin açıklaması:

Parametre Açıklama
genkey Bir anahtar oluşturur.
alias Anahtar deposu girişi için takma ad.
keyalg Anahtar algoritması adı.
keystore keystore'un adı.
keysize Her anahtarın boyutu.
geçerlilik Anahtarın gün cinsinden geçerliliği.
exportcert Sertifikayı anahtar deposundan okur
openssl Android için SHA1 anahtarı üretir

APK paketinin manuel olarak imzalanması (KV imzalama için değil)

Sarmalama sırasında otomatik oturum açmayı kullanmıyorsanız veya Play Store için bir AAB dosyası yüklemeye çalışıyorsanız bu adımları uygulayın. Bu işlemin tekrarlanmasını önlemek için mümkün olduğunda otomatik oturum açmayı kullanın.

Apksigner aracını bulun

  1. Android Studio açın.
  2. SDK yolunuzu bulmak için Araçlar>SDK Yöneticisi>Android SDK Konumu'na gidin.
  3. SDK dizininde şuraya gidin:
    • build-tools>[version number]> şunu bulun: apksigner.bat (Windows) veya apksigner (Mac/Linux)
    • Veya: build-tools>[version number]>lib> find apksigner.jar

Apksigner konum bilgilerini içeren bir ekran görüntüsü.

APK dosyasını imzalayın

APK'nızı imzalamak için şu komutu çalıştırın:

apksigner.bat sign --ks PATH_TO_KEYSTORE --ks-key-alias KEY_ALIAS PATH_TO_APK

Parametrelerin açıklaması:

Parametre Açıklama
ks Anahtar deposu dosyanızın yolu (örneğin, C:\Users\name\Desktop\powerappswrap.jks)
ks-anahtar-takma-adı Anahtarı oluştururken kullandığınız takma ad (örneğin, powerappswrap)
PATH_TO_APK APK dosyanızın tam yolu (örneğin, C:\Users\name\Downloads\MyApp.apk)

İstendiğinde anahtar deposu parolasını girin.

Örnek:

apksigner.bat sign --ks C:\Users\name\Desktop\powerappswrap.jks --ks-key-alias powerappswrap C:\Users\name\Desktop\MyApp.apk

İmzayı doğrulayın

İmzaladıktan sonra APK imzasını aşağıdakilerle doğrulayın:

apksigner.bat verify --verbose PATH_TO_APK

Başarılı bir doğrulama, APK'nızın doğru şekilde imzalandığını ve dağıtıma hazır olduğunu onaylar.

Daha fazla bilgi için Android Studio komut satırı araçları: apksigner'a bakın.

Uygulamayı dağıtma

Uygulamanızı imzaladıktan sonra birkaç yöntem kullanarak dağıtabilirsiniz:

Dağıtım seçenekleri

Ayrıca bkz.