[TR] ReactNative APK Oluşturma

Öztürk Şirin
3 min readApr 4, 2024

--

Source: https://archive.org/details/a_p_k

APK Nedir ?

APK dosyası (Android Paket Kiti dosya biçimi) Android işletim sisteminde (OS) kullanılan uygulamalar için dosya biçimidir. Bir APK dosyası, yazılım programının tüm kodu, varlıkları ve kaynakları dahil olmak üzere bir uygulamanın ihtiyaç duyduğu tüm verileri içerir.

Neden APK’ya İhtiyaç Duyarız ?

Örneğin, bir uygulama geliştirdik bunu başka birisine (Müşteri vb.) test etmesi için göndermek istiyoruz ya da releaseetmeden önce son testlerimizi gerçekleştireceğiz bu gibi durumlarda APK'lara ihtiyaç duyarız.

Ancak APK dosyalarını yüklerken dikkatli olmak önemlidir.
Güvenilir kaynaklardan indirilmediğinde veya kötü amaçlı değiştirildiğinde, güvenlik riskleri oluşturabilirler. Bu yüzden, APK dosyalarını yüklerken güvenilir kaynaklardan indirme ve cihazınızı güncel tutma önemlidir.

Play Storda yayınlamak için relese kullanıyoruz aab. uzantılı dosya ile yayına gönderiyoruz.

APK Oluşturma:

  1. C:\Program Files\Java\jdk-X.X.X.X\bin Yoluna giriş yaptıktan sonra Powershell ya da terminali açıyoruz.

İsterseniz bu dosyaya direkt terminal üzerinden de gidebilirsiniz.

2. Terminale keystore oluşturmak için kodu yazalım.

keytool -genkeypair -v -keystore my-upload-key.keystore -alias 
my-key-alias -keyalg RSA -keysize 2048 -validity 10000

Mac Bilgisayarlar dosya yolu şöyle:
/Library/Java/JavaVirtualMachines/jdkX.X.X.jdk/Contents/Home

sudo keytool -genkey -v -keystore my-upload-key.keystore -alias
my-key-alias -keyalg RSA -keysize 2048 -validity 10000
Source: Taken by author
Örnek terminal ekranı

Açıklamak Gerekirse:

keytool: Java Keytool aracını çalıştırır.
-genkeypair: Yeni bir anahtar çifti oluşturur.
-v: İşlem ayrıntılarını görüntüler (verbose).
-keystore my-upload-key.keystore: Oluşturulacak keystore dosyasının adını ve konumunu belirtir. Bu örnekte, “my-upload-key.keystore” adlı bir dosya oluşturulur.
-alias my-key-alias: Anahtar çiftinin bir takma adını belirtir. Bu, keystore içindeki anahtara referans oluşturur.
-keyalg RSA: Oluşturulacak anahtarın algoritmasını belirtir. Bu örnekte, RSA algoritması kullanılır.
-keysize 2048: Oluşturulacak anahtarın boyutunu belirtir. Bu örnekte, anahtarın boyutu 2048 bit olarak belirlenir.
-validity 10000: Oluşturulan anahtarın geçerlilik süresini gün cinsinden belirtir. Bu örnekte, anahtarın 10000 gün boyunca geçerli olacağı belirtilir.

3. Oluşturduğumuz Keystore dosyası C:\Program Files\Java\jdk-X.X.X.X\bin dosyasının içerisinde my-upload-key olarak oluşturuldu.

4. keystore dosyasını kopyalayıp projemizin android/app dosyasının içerisine yapıştıralım.

5. (environment variable) tanımları için android/gradle.properties dosyasına gidip kodu yazalım.Buradaki bilgiler keystore oluşturduğumuz bilgiler ile aynı olmalı.

MYAPP_UPLOAD_STORE_FILE=my-upload-key.keystore
MYAPP_UPLOAD_KEY_ALIAS=my-key-alias
MYAPP_UPLOAD_STORE_PASSWORD=*****
MYAPP_UPLOAD_KEY_PASSWORD=*****

6. İmza anahtarını ve keystore dosyasını tanımlamak için android/app/build.gradle dosyasına kodu yazmalıyız.

signingConfigs {
debug {
storeFile file('debug.keystore')
storePassword 'android'
keyAlias 'androiddebugkey'
keyPassword 'android'
}
release {
if (project.hasProperty('MYAPP_UPLOAD_STORE_FILE')) {
storeFile file(MYAPP_UPLOAD_STORE_FILE)
storePassword MYAPP_UPLOAD_STORE_PASSWORD
keyAlias MYAPP_UPLOAD_KEY_ALIAS
keyPassword MYAPP_UPLOAD_KEY_PASSWORD
}
}
}

7.Son olarak terminalden cd .\projeAdı\android klasörüne gidip ./gradlew bundleRelease komutu ile oluşturabiliriz.

Source: Taken by author

Önceki yazılarım

--

--