Xamarin - Android APK Oluşturma
21.10.2017 00:54:12 | Okunma Sayisi : 14628 | Yorum Sayisi : 0
Bu makalede çok fazla detaya girmeden, Xamarin ile hazırladığınız Android uygulamasının APK' sının nasıl oluşturulacağını anlatıp, sonraki makalede biraz daha detaya girerek; ikon değiştirme, APK boyutunu düşürme, obfuscating (kod karıştırma) gibi konulara değineceğim.
Uygulamanızı yazdınız, test ettiniz ve kullanıma hazır olduğunu düşünüyorsunuz. Yapmanız gereken bir sonraki işlem; Android uygulamanızın APK' sını oluşturmaktır.
Oluşturduğunuz APK dosyasını; Google Play gibi bir MarketPlace' te dağıtabilir (distribute) ya da doğrudan Android işletim sistemleri cihazlara kurabilirsiniz.
APK oluşturmak için adımları şu şekilde sıralayabiliriz.
- Proje derlenir
- Projeye sağ tıklayıp Properties seçilir
- Properties penceresinde Android Manifest sekmesine tıklanır
- Açılan pencerede Package name, Version number ve Version name bilgileri girilir
- Android Options sekmesinde Configuration alanından Release seçilir
- Projeye sağ tıklayıp Archive seçilir
- Archive işlemi tamamlandıktan sonra Distribute butonu tıklanır
- Distribute Channel penceresi ekrana gelir, bu pencerede Ad Hoc seçilir
- Signing Identity penceresi ekrana gelir, bu pencerede yeşil artı butonu tıklanır
- Create Keystore penceresi ekrana gelir, bu pencerede ilgili alanlar doldurulur ve Create butonuna basılır
- Signing Identity penceresinde listeden ilgili Keystore seçilir ve Save As butonu tıklanır
- APK' nın oluşturulacağı yer seçilir
- Parola istenen pencereye Create Keystore penceresinde kaydedilmiş olan parola girilir
- APK hazırdır.
Bu işlemleri bir de resimli olarak inceleyelim.
APK oluşturmak için Android projesine sağ tıklayıp Properties seçelim.
Properties seçtikten sonra gelen pencerede sol menüden Android Manifest seçtikten sonra sağ taraftaki Package name alanına bir isim girelim, Version number alanına 1, Version name alanına da 1.0 girelim.
Sol taraftan Android Options seçtikten sonra gelen pencerede en üstte Configuration seçeneklerinden Release' i seçelim.
Solution Explorer üzerinden Android projesine tekrar sağ tıklayıp Archive seçelim.
Archive seçtikten sonra Archive Manager penceresi açılacaktır ve archive işlemi başlayacaktır. Bu işlemin tamamlanmasını bekleyelim. İşlem tamamlandıktan sonra bir hata almadıysanız aşağıdaki gibi bir görüntü ile karşılaşacaksınız. Sağ alt köşedeki Distribute butonuna tıklayalım.
Distribution Channel penceresi gelecektir. Bu pencerede Ad Hoc seçelim.
Ad Hoc seçtikten sonra karşınıza Signing Identity ekranı gelecektir. Android, APK' ların bir sertifika ile dijital olarak imzalanmış olmasını gerektirir. Bu yüzden bir Keystore oluşturmamız gerekmektedir. Bu ekranda altta bulunan yeşil artı butonuna tıklayalım.
Create Android Keystore penceresi açılacaktır. Bu pencerede Alias alanına bir isim girelim, Password ve Confirm alanlarına parola girelim, bir de alt paneldeki alanlardan bir tanesine giriş yapalım ve Create butonuna tıklayalım.
Create' e tıkladıktan sonra Signing Identity penceresindeki listeden Keystore' u seçip Save As butonuna tıklayalım. Oluşacak APK dosyasının bilgisayarınız üzerinde kaydedileceği yeri seçtikten sonra distribution işlemi başlayacaktır. İşlem başladığı zaman parola isteyen bir ekran gelecektir karşınıza, Create Android Keystore penceresinde tanımlamış olduğunuz parolayı girmeniz gerekir bu pencerede.
Distribution işlemi tamamlandıktan sonra kaydettiğiniz yere giderek ya da sağ altta bulunan Open Distribute butonuna tıklayarak APK dosyanıza ulaşabilirsiniz.
Artık bu APK dosyasını bilgisayarınıza bağladığınız bir Android cihaza kurabilir, ya da internet üzerinde bir yere koyarak Android cihazlara download ederek kurabilirsiniz.
APK oluşturmaya çalışırken alabileceğiniz hatalardan bazıları şunlardır:
Signing packages failed. jarsigner error: java.lang.RuntimeException: keystore load: Keystore was tempered with, or password was incorrect
- Bu hatanın sebebi; Distribution anında sizden parola istenen pencerede yanlış parolayı girmiş olmanızdır.
- Çözüm için; Create Android Keystore penceresinde tanımlamış olduğunuz parolayı girmeniz gerekir.
Shared Mono runtime is enabled for 'Assembly adı'. The selected build configuration is using the shared Mono runtime for faster deploypment. Apps cannot be archived with this setting enabled. Please ensure that you are using a release configuration and that the "Use Shared Mono Runtime" opetion in your project' s build option is unchecked.
- Bu hatanın sebebi; Uygulamanın varsayılan olarak Debug konfigürasyonunda iken (Use Shared Runtime seçeneğinin işaretli iken) Archive yapılmasıdır.
- Çözüm için; Proye' ye sağ tıklayıp Properties seçtikten sonra Android Options' ta Configuration alanından Release seçmeniz gerekir (Bunu seçtiğiniz taktirde Use Shared Runtime seçeneğinin de seçiliğini kalkacaktır).
0 Yorum