QT-Necessitas Android, basit örnek ama boyutu neden fazla?

Başlatan metaltrrocker, 17 Şubat 2014, 20:17:44

metaltrrocker

Merhabalar arkadaşlar.QT'de android yazalım geliştirme işine girdim(hobi olarak).Daha önceden ADT bundle ile basit uygulamalar yapmaya çalıştım oldu, fakat bunlar sağdan soldan gördüğüm bilgilerle yaptım.Java öğrenmek istedim beni aşırı derecede zorladı.Bu yüzden ben de açık kaynak ve platform bağımsızlığı sebebiyle QT'ye geçtim.Bir tane android yazılım yapayım dedim,kolları sıvadım.Çok çeşitli hataları eledikten sonra(Aralıksız 14-15 saatimi aldı.) iki buton ve label'dan oluşan android uygulamasını yazdım ve Samsung Gio cihazımda çalıştırdım.
Bu arada arayüz için ayarlanan formun boyutu telefonun ekran çözünürlüğü ile aynı.(320*480).
Ancak dosya boyutu bu kadar basit bir uygulama için çok çok fazla göründü gözüme(~2mb)
Bunun sebebi ne olabilir sizce?
QT'yi kullanıp c++ ile yazılım yazmam mı?
yoksa başka benim amatör olduğum için oluşan bir sebepten mi?

Uygulamanın ekran görüntüsü
[IMG]http://imagizer.imageshack.us/v2/xq90/838/r2ix.png[/img] [IMG]http://imagizer.imageshack.us/v2/xq90/546/eak1.png[/img]

yamak

Sebebi static derlemenden kaynaklanıyo.Qt kütüphaneleri android platformunda bulunmadığından dolayı derleme esnasında kütüphanelerin çalıştırılabilir dosyaya(apk uzantılı dosya) eklenmesi gerekiyor.Eğer dosyanın boyutunun küçük olmasını istiyorsan dinamik derleme yapabilirsin.Ama bu sefer de uygulama çalıştırılımadan önce ministro'nun telefona kurulup programın gerek duyduğu kütüphanelerin telefona indirilmesi gerekiyor.Bunu Project->run->Deploy Configuration sekmesinden ayarlayabilirsin.Eğer "Use Ministro service to install qt" seçeneğini seçersen kütüphaneler apk dosyasına eklenmez ve uygulama telefonda çalıştırılacapı zaman ministro'yu kurmak isteyip istemediğin sorulur eğer istersen ministro bir defaya mahsus kurulur ve bundan sonra hangi uygulama olursa olsun gereken kütüphaneleri uygulama çalışmaya başlamadan önce ministo telefona otomatik olarak indirir.Fakat "Bundle Qt libraries in APK" seçeneğini seçersen senin bahsettiğin durum olur kütüphaneler apk dosyasını eklenir bu sefer de uygulamanın boyutu çok yüksek olur.

metaltrrocker

Anladım.Peki bu söyledikleriniz dışında apk dosyasını küçültmenin bir yolu var mıdır? Bu işte yeniyim ve üzerine yönelmek istiyorum. Ministro'yu şimdi denedim.
Dinamik olarak yaptığımda apk dosyam-100 kb, ministro2 ise 19 mb oldu.
Kullanmadığımız kütüphaneleri iptal etmenin bir yolu yok mu statik derleme yaptığımızda?

yamak

Bildiğim kadarıyla yok.Qt ile uygulama geliştirmek çok güzel ama bu yönü biraz moral bozucu.Keşke android qt kütüphaneleri ile birlikte gelse.

metaltrrocker

O kadar güzel bir şey yapmışlar ki adamları yolda görsem saygıdan eğilirim önlerinde.Yalnız bu kütüphane işi olmamış.Kesin aşamadıkları bir engel vardır illaki farazi konuşuyorum.
Bir de ministro2' yi yüklediğim zaman Design kısmında görülen pencere ve widget(renk,şekil,dizayn) olarak normalinden çok farklı.Bunu düzeltmenin, yani design kısmında ne tasarlıyorum renklerine varana kadar o şekilde görülmesinin ayarı var mı? Ministro çalıştırılabilir bir program değil anladığım kadarıyla.Listede görünmüyor.

metaltrrocker

Windows için tasarladığım basit 4 işlemli bir hesap makinesini androide port ettim.İşte olay budur.Windows için tasarım yapıyorsun aynı tasarımı,kodları android,ios vs ye sıfırdan yazmak yerine iki tık.Olay budur.Bu kütüphane olayına da ilerde bir çözüm bulurlar umarım.
Derleyince dosya boyutu 6mb,telefona yükleyince(çalıştırmadan) 150kb, ilk çalıştırıldıktan sonra ise boyutu cihaz üzerinde 2.2mb oluyor.

yamak

Evet tüm platformlarda çalışması çok güzel.Ayrıca qml ile de müthiş arayüzler ve animasyonlar tasarlanabiliyor.Ama kütüphane olayı gerçekten can sıkıcı.Diyelim bi uygulama yapıp markete koydun adam uygulamayı kurarken uygulamanın başka bi uygulamaya ihtiyaç duyması bilmeyen adamları kıllandırıyo ve direk senin uygulamayı kaldırıyolar.
Ama ubuntu phone çıkınca ona rahatlıkla geliştirilebilir.Zaten arayüzü qml ile tasarlanmış.

metaltrrocker

Direk şunu sorayım.Bİr oyun yada uygulama yazdım diyelim.Play.google'a bu yazılımı ücretli ya da ücretsiz eklediğimde, qt den dolayı herhangi bir telif olayı devreye giriyormu?,yani gönül rahatlığıyla qt üzerinde geliştirdiğim uygulamayı,qt'nin ücretsiz versiyonuyla (ticarisi varmı bilmiyorum) yayınlayabilirmiyim?

yamak

Bildiğim kadarıyla yayımlayabilirsin.Daha detaylı cevap için LGPL lisansını araştırabilirsin.

metaltrrocker

Teşekkür ederim hocam.Bu konulara baya uzak olduğum için pek bilgim yok.Lisansı okuyayım umarım aleyhime bir durum yoktur :)