Gradle vasıtasıyla imzalı APK üretmek

Gradle inşa sistemini Android için kullanırken, imzalanmış, markette dağıtıma hazır bir paket dosyasını hazırlamak için inşa aşamasında gerekli bilgileri (keystore adresi, anahtar parolası vs.) dışarıdan alarak-geliştiriciye sorarak almak için şuradaki Groovy kodunda görüldüğü gibi bir fonksiyon yazmak mümkünmüş: http://stackoverflow.com/a/19130098

Tabi burada debug key‘in değil, release key‘in adresini * vermelisiniz. Denerken bu blokta parolaları readLine() yerine readPassword() ile almayı istedim. Ancak Gradle, ilgili task’a veriyi hep null döndürdü. Açıktan yazıp göndermenin dışında bir yol bulamadım.

Daha güzel yol

Şu gist’te gerekli bilgileri dosyadan alarak imzalamanın güzel bir yolu bulunuyor: https://gist.github.com/gabrielemariotti/6856974 Böylesi daha iyi duruyor. Özellikle Github gibi herkese açık sistemlerde kodunuzu paylaşacaksanız, hassas bilgileri barındıran bu dosyaları .gitignore ile listeye alıp, bir yandan da build.gradle dosyanızı olduğu gibi paylaşabilirsiniz. Tabi sonra anahtarın güvenliğini açısından bu dosyaları korumak size düşünüyor.

Caner Güral

learning enthusiast. e-learning designer. result-oriented. 27.