Android geliştirme ortamını Ubuntu’ya taşımak isteyenler, hazır olarak gelmeyen bazı konfigürasyonlar ve emülatörde yaşayacakları problem için internette uzun bir seyahata çıkıyor 🙂 seyahata çıkanlardan birisiyim.

Ne için çıktım?

  1. Android Studio’nun başlatıcıya(Sol taraftaki ikonların yer aldığı yer) eklenememesi. Çalıştırmak için “./studio.sh” veya sym link kullanarak “android-studio” yazmak benim için bir eksiklikti. Sol tarafta simgesi olmalıydı 🙂
  2. Uygulamayı test etmek için kullandığımız emülatör çalışmıyor…

1. Başlatıcıya Android Studio simgesini ekleme

İnternette bunun birçok yöntemini bulabilirsiniz, özellikle “androidstudio.desktop” benzeri isimli bir dosya oluşturup içine yaklaşık 10 satırlık kod parçası kopyalanan yöntem en çok rastgelinen yöntem. Aslında bu yöntem, tüm uygulamalar için çalışan kesin sonuç verecek bir yöntem ancak Android Studio için böyle bir yönteme ihtiyacımız yok, hiç zahmet etmeyelim 🙂

Android Studio’yu başlatın. Menü çubuğundan,

Tools -> Create Desktop Entry

yolunu izleyerek Başlatıcı için bir simge oluşturabiliyoruz. Bu simgeye erişmek için, başlatıcıdaki “Bilgisayarda ara” eylemini kullanabilirsiniz.

m4ng9r

2. Emülatör Kurulumu

İşte asıl problem bu. Önümüze sunulan çözüm hem uğraştırıcı hem de aldığımız sonuç tatmin edici değil. Aşağıdaki yönergeleri kullanarak emulatör kurulumunu yapabilirsiniz. (Kaynak)

Yönergeler, 5.adımdan sonra kaynak gösterdiğim yerden ayrılıyor. Aslında ufak birkaç değişiklik var ama yine de hata olacak olursanız belirtmekte fayda var.

1. Bilgisayar donanımı sanallaştırmayı destekliyor mu, kontrol edilir.

egrep -c '(vmx|svm)' /proc/cpuinfo

komutun çıktısı “0” ise uygulamanızı test etmek için gerçek bir cihaz kullanmak zorundasınız. Eğer “0” değilse diğer adımları takip edebilirsiniz.

2. CPU kvm desteğini kontrol etmek için uygulama yüklüyoruz.

kvm ( Kernel Based Virtual Machine ), Linux sistemler üzerinde çekirdek katmanında sanallaştırma yapan açık kaynak kodlu sanallaştırma uygulamasıdır. (Kaynak)

sudo apt-get install cpu-checker

komutunu çalıştırarak uygulamayı yükledikten sonra,

kvm-ok

komutu ile kontrol gerçekleştirilebilir. Burada dikkat etmemiz gereken, BIOS ayarlarından sanallaştırmanın aktif olarak ayarlanmış olması gerekmekte.

Aşağıdaki çıktıyı alsıydanız, harika!

INFO: /dev/kvm exists
KVM acceleration can be used

Desteklenmediğine dair bir çıktı aldıysanız BIOS ayarlarına gidip sanallaştırma teknolojisini aktif olarak ayarlayınız.

3. KVM Kurulumu

sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils

4. Kendimizi KVM grubuna ekleyelim. Aşağıdaki komutlarda “your_user_name” yazan kısıma kendi kullanıcı adınızı girin.

sudo adduser your_user_name kvm
sudo adduser your_user_name libvirtd

Bu komutları çalıştırdıktan sonra, gruplardaki değişimin gerçekleşmesi için oturumu kapatıp yeniden giriş yapın.

groups

komutu ile gruplara dahil olma durumunuzu kontrol edebilirsiniz.

5. Kurulumu doğrulayalım,

sudo virsh -c qemu:///system list

komutunu kullandığımızda,

Id Name                 State
----------------------------------

benzer çıktısını alıyorsak kurulum başarılı olmuştur.

Yukarıdaki talimatları bitirdikten sonra, herhangi ek bir ayar yapmadan standart bir şekilde AVD Manager ile sanal telefonumuzu oluşturalım. Oluşturalım ama cihazı başlatmayalım.

m4nppy

erzny9

jxop5g

dbamm1

Yukarıdaki görüntüyü gördükten sonra, hooop. Artık terminale geçiyoruz, ben burada Android Studio’nun kendi üzerindeki terminali kullanmayı tercih ediyorum ama siz normal terminali de kullanabilirsiniz.

Terminalden “Sdk/tools” dizinine gidin. Sdk genelde ev dizini içerisinde “Android” klasörü içerisinde olur ancak bulamıyorsanız,

locate "Sdk/tools"

komutunu kullanabilirsiniz. Çıktılardan konumu bulursunuz.

cd /home/kullanici_adi/Android/Sdk/tools (locate ile elde ettiğimiz konum)

Dizine geldikten sonra aşağıdaki komutu çalıştırarak emülatörü başlatabilirsiniz artık (64 bit sistem için.):

./emulator64-x86 -gpu off -avd Nexus_5_API_23 -qemu -m 2047 -enable-kvm

32 bit için:

./emulatorx86 -gpu off -avd Nexus_5_API_23 -qemu -m 2047 -enable-kvm

r67pe7

774da5

Emülatörü başlattıktan sonra menü çubuğunun altında bulunan “Run” butonunu kullanarak, uygulamanızı test edebilirsiniz. Uygulama derlendikten sonra emülatörde başlayacaktır.


Son olarak şunu da belirtmek isterim, Windows üzerinde çalışan emülatör kadar kararlı olduğunu düşünmüyorum. Bunu şu sebeple söylüyorum, müzik dinlerken emulatörü başlatma komutunu çalıştırdığımda hoparlör parazitlenmişti, denemek için tekrar çalıştırdığımda parazitlenme olmasa da sonuçta alternatif bir yöntem 🙂

SDK Manager’ın kendi uygulaması, HAXM Installer’i desteklemediğini de yazıyor.

8pj5yn