Hepinize selamlar TurkHackTeam ailesi. Kivy veya Kivymd kullanarak python ile bir android uygulaması oluşturdunuz diyelim ancak uygulama hala .py biçiminde. Peki bu uygulamayı (öngürelemez nedenler yüzünden) çökmeyen bir .apk dosyasına nasıl dönüştürürsünüz ve bunu mümkün olan en kısa sürede yaparsınız? Endişelenme, bu konuda bunu açıklayacağım. Sadece okumaya devam edin.
Python ile kivy ve kivymd kütüphanelerini kullanarak basit bir taş-kağıt-makas oyunu yaptım (kodu buradan inceleyebilirsiniz). Ve sonrasında onu çalıştırdığımız anda çökmeyen, yüklenebilir bir android uygulamasına dönüştürmeye çalışmak gibi sinir bozucu bir yolculuğa çıktım. Başarılı da oldum. Şimdi bu süreci sizin için basitleştireceğim ve uygulamanızın çökmediğinden nasıl emin olacağınızı anlatacağım.
Kivy veya Kivymd ile hiç deneyiminiz yoksa 9 dakikada basit bir uygulama oluşturmayı öğreten bu eğitime göz atabilirsiniz. Lakin python ve kivymd kullanarak oluşturduğunuz uygulamalar harika görünse ve materyal tasarıma sahip olsa da hâlâ .py uzantısına sahiptirler. Peki python programlarınızı kurulabilir .apk dosyalarına nasıl dönüştürürsünüz?
Buildozer ve Google Collab'ın devreye girdiği yer burasıdır. Buildozer, mobil uyguları kolayca paketlemek için kullanılabilen bir araçtır. Tüm oluşturma sürecini otomatikleştirir ve android için python, Android SDK, NDK, vb. gibi ön koşulları indirir. Google Colab, tarayıcı aracılığıyla herhangi bir python kodunu yazmanıza ve çalıştırmanıza olanak tanır. Kullanmak için kurulum gerektirmez ve Google'ın GPU'ları da dahil olmak üzere bilgi işlem kaynaklarına ücretsiz erişim sağlar.
İşte bir .py'yi .apk dosyasına dönüştürmek için adım adım bir süreç:
ADIM 1: Bu önceden yazılmış komutları kullanın
Bu colab not defterini açın, önceden yazılmış bazı komutlar bulacaksınız ama henüz herhangi bir komutu çalıştırmayın. Kontrol ettikten sonra buraya geri gelin ve komutlarımı bekleyin ;-)
!buildozer init'e ulaşana kadar komutları tek tek çalıştırmaya başlayın, henüz yürütmeyin.
2. ADIM: .py dosyanızı (ve uygulamanızda kullandığınız asset'leri) içe aktarın
.py dosyanızı içe aktardıktan sonra main.py olarak yeniden adlandırınç Aksi takdirde buildozer hangi python programında çalışması gerektiğini tanımayacaktır.
ADIM 3: “!buildozer” init komutunu çalıştırın
!buildozer init komutunu çalıştırdığınızda bir buildozer.spec dosyası oluşturacaktır, üzerine çift tıklayarak açın. Uygulamanızın paket adını, uygulama adını, uygulama simgesini, açılış ekranı görüntüsünü, bebeğinizin bezlerini, size ihanet eden dostlarınızı ve çok daha fazlasını değiştirmek için bu dosyanın içeriğini düzenleyebilirsiniz. Göz gezdirin, ne gibi değişiklikler yapabileceğinizi görün. Ancak !buildozer -v android debug komutunu henüz çalıştırmayın!!
ADIM 4: Uygulamanızın çökmediğinden emin olun!!
Bunların hepsini yaptım ve ardından bir sonraki komut olan !buildozer -v android debug komutunu yürüttüm. Bir .apk dosyası oluşturdu, dosyayı memnuniyetle telefonuma yolladım ve kurdum. Fakat uygulamayı açtığımda hata veriyor. Uygulamada hata ayıklamayı denedim, Stackoverflow'un derin ormanlarına daldım, benzer sorunları olan kişilerin Quora tartışmalarına girdim ama hiçbir şey işe yaramadı. Bunu anlamam iki günümü aldı. İşte sorunu nasıl çözdüğüm ise şimdi geliyor.
buildozer.spec dosyasının içeriğinde gereksinimler bölümü bulunmaktadı rve python3, kivy ve kivymd ile birlikte gereksinimlere pillow'u da eklemelisiniz. Hmmmm, şey... Pillow da ne!? Kodumda “pillow” adında bir kütüphane kullandığımı hatırlamıyorum. Görünüşe göre pillow veya PIL (Python Image Library), kivymd'nin bazı şeylere bağlı olduğu python paketidir. Buildozer.spec'inizin gereksinimler bölümü şöyle görünmelidir (alttaki resim):
Değişiklikleri yaptıktan sonra buildozer.spec dosyanızı kaydetmeyi unutmayınız.
ADIM 5: “!buildozer -v android debug” komutunu yürütün
!buildozer -v Android debug kodunu çalıştırın ve bekleyin. Muhtemelen 15 dakikadan fazla sürecektir. İşlemin ortasında bir veya iki kez “y” girermenizi isteyerek sizden onay isteyecektir, buna unutmayın.
Tüm işlemleri tamamladıktan sonra, sol tarafta bin adında yeni bir klasörün göründüğünü göreceksiniz. bin'in içinde bir .apk dosyası bulacaksınız, onu telefonunuza aktarın. Yükleyin, test edin ve umarım çökmez. Rica ederim. Herkese iyi günler dilerim
𝕯𝖔𝖑𝖞𝖊𝖙𝖞𝖚𝖘 𝖘𝖚𝖓𝖆𝖗...
Original source: How to Convert Python Code into an Android .apk [that doesn’t crash!] Kivymd, Buildozer TutorialPython ile kivy ve kivymd kütüphanelerini kullanarak basit bir taş-kağıt-makas oyunu yaptım (kodu buradan inceleyebilirsiniz). Ve sonrasında onu çalıştırdığımız anda çökmeyen, yüklenebilir bir android uygulamasına dönüştürmeye çalışmak gibi sinir bozucu bir yolculuğa çıktım. Başarılı da oldum. Şimdi bu süreci sizin için basitleştireceğim ve uygulamanızın çökmediğinden nasıl emin olacağınızı anlatacağım.
Kivy veya Kivymd ile hiç deneyiminiz yoksa 9 dakikada basit bir uygulama oluşturmayı öğreten bu eğitime göz atabilirsiniz. Lakin python ve kivymd kullanarak oluşturduğunuz uygulamalar harika görünse ve materyal tasarıma sahip olsa da hâlâ .py uzantısına sahiptirler. Peki python programlarınızı kurulabilir .apk dosyalarına nasıl dönüştürürsünüz?
Buildozer ve Google Collab'ın devreye girdiği yer burasıdır. Buildozer, mobil uyguları kolayca paketlemek için kullanılabilen bir araçtır. Tüm oluşturma sürecini otomatikleştirir ve android için python, Android SDK, NDK, vb. gibi ön koşulları indirir. Google Colab, tarayıcı aracılığıyla herhangi bir python kodunu yazmanıza ve çalıştırmanıza olanak tanır. Kullanmak için kurulum gerektirmez ve Google'ın GPU'ları da dahil olmak üzere bilgi işlem kaynaklarına ücretsiz erişim sağlar.
İşte bir .py'yi .apk dosyasına dönüştürmek için adım adım bir süreç:
ADIM 1: Bu önceden yazılmış komutları kullanın
Bu colab not defterini açın, önceden yazılmış bazı komutlar bulacaksınız ama henüz herhangi bir komutu çalıştırmayın. Kontrol ettikten sonra buraya geri gelin ve komutlarımı bekleyin ;-)
!buildozer init'e ulaşana kadar komutları tek tek çalıştırmaya başlayın, henüz yürütmeyin.
2. ADIM: .py dosyanızı (ve uygulamanızda kullandığınız asset'leri) içe aktarın
.py dosyanızı içe aktardıktan sonra main.py olarak yeniden adlandırınç Aksi takdirde buildozer hangi python programında çalışması gerektiğini tanımayacaktır.
ADIM 3: “!buildozer” init komutunu çalıştırın
!buildozer init komutunu çalıştırdığınızda bir buildozer.spec dosyası oluşturacaktır, üzerine çift tıklayarak açın. Uygulamanızın paket adını, uygulama adını, uygulama simgesini, açılış ekranı görüntüsünü, bebeğinizin bezlerini, size ihanet eden dostlarınızı ve çok daha fazlasını değiştirmek için bu dosyanın içeriğini düzenleyebilirsiniz. Göz gezdirin, ne gibi değişiklikler yapabileceğinizi görün. Ancak !buildozer -v android debug komutunu henüz çalıştırmayın!!
ADIM 4: Uygulamanızın çökmediğinden emin olun!!
Bunların hepsini yaptım ve ardından bir sonraki komut olan !buildozer -v android debug komutunu yürüttüm. Bir .apk dosyası oluşturdu, dosyayı memnuniyetle telefonuma yolladım ve kurdum. Fakat uygulamayı açtığımda hata veriyor. Uygulamada hata ayıklamayı denedim, Stackoverflow'un derin ormanlarına daldım, benzer sorunları olan kişilerin Quora tartışmalarına girdim ama hiçbir şey işe yaramadı. Bunu anlamam iki günümü aldı. İşte sorunu nasıl çözdüğüm ise şimdi geliyor.
buildozer.spec dosyasının içeriğinde gereksinimler bölümü bulunmaktadı rve python3, kivy ve kivymd ile birlikte gereksinimlere pillow'u da eklemelisiniz. Hmmmm, şey... Pillow da ne!? Kodumda “pillow” adında bir kütüphane kullandığımı hatırlamıyorum. Görünüşe göre pillow veya PIL (Python Image Library), kivymd'nin bazı şeylere bağlı olduğu python paketidir. Buildozer.spec'inizin gereksinimler bölümü şöyle görünmelidir (alttaki resim):
Değişiklikleri yaptıktan sonra buildozer.spec dosyanızı kaydetmeyi unutmayınız.
ADIM 5: “!buildozer -v android debug” komutunu yürütün
!buildozer -v Android debug kodunu çalıştırın ve bekleyin. Muhtemelen 15 dakikadan fazla sürecektir. İşlemin ortasında bir veya iki kez “y” girermenizi isteyerek sizden onay isteyecektir, buna unutmayın.
Tüm işlemleri tamamladıktan sonra, sol tarafta bin adında yeni bir klasörün göründüğünü göreceksiniz. bin'in içinde bir .apk dosyası bulacaksınız, onu telefonunuza aktarın. Yükleyin, test edin ve umarım çökmez. Rica ederim. Herkese iyi günler dilerim
𝕯𝖔𝖑𝖞𝖊𝖙𝖞𝖚𝖘 𝖘𝖚𝖓𝖆𝖗...