Android derlerken “ImportError: No module named mako.template” hatasının giderilmesi

Merhabalar,

Android derlerken aşağıdaki gibi bir hata ile karşılaşabilirsiniz.

ImportError: No module named mako.template

Aşağıdaki komutlar ile yeni paketi kurup bu hatadan kurtulabilirsiniz.

sudo apt-get install python-pip libyaml-dev
sudo pip install prettytable Mako pyaml dateutils --upgrade

Selamlar

Google Maps’ten ilginç kareler

Merhabalar,

Aşağıda google maps’ten ilginç kareleri görebilirsiniz.

Dayton, Oregon, ABD’de bir tarlada ki firefox logosu

Tucson, Arizona, Uçak Çiftliği

Cordoba, Arjantin, Gitar şeklinde orman

Nevada, USA, Dev hedef işareti

Dunstable LU6 2LD, İngiltere, Aslan Kral

Girne, KKTC bayrağı

Buldukça ekleme yapacağım.

Selamlar

“Failed to fetch http://dl.google.com/linux/chrome/deb/dists/stable/Release Unable to find expected entry” hatasının giderilmesi

Merhaba,

Güncelleme yöneticisi en son paketleri çekerken google chrome reposunda aşağıdaki gibi bir hatayla karşılaşabilir.

W: Failed to fetch http://dl.google.com/linux/chrome/deb/dists/stable/Release  Unable to find expected entry 'main/binary-i386/Packages' in Release file (Wrong sources.list entry or malformed file)

Bu hatayı çözmek için aşağıdkai komutu çalıştırabilirsiniz.

sudo sed -i -e 's/deb http/deb [arch=amd64] http/' "/etc/apt/sources.list.d/google-chrome.list"; sudo sed -i -e 's/deb http/deb [arch=amd64] http/' "/opt/google/chrome/cron/google-chrome"

Şimdi yapmanız gereken güncelleme yöneticisini yeniden çalıştırmak.

Selamlar

Ubuntu üzerinde Windows başlangıç diski oluşturmak

Merhaba,

Ubuntu üzerinde Windows başlangıç diski oluşturmak için “Winusb” programını kullanabilirsiniz.

Kurulumu için terminal penceresi açalım ve aşağıdaki komutlarla yükleyelim.

sudo add-apt-repository ppa:colingille/freshlight
sudo apt-get update
sudo apt-get install winusb

Programı açtığınızda standart başlangıç diski oluşturucular gibi olduğunu göreceksiniz.

Not: 12.04’den 15.04’e kadar denenmiştir. Diğerlerinde deneyip başarılı olursanız yorumunuzu beklerim.

Selamlar

Android studio – MultiDex projelerin derlenmesini hızlandırmak

Merhaba,

MultiDex projelerin uzun sürmesinin sebebi Lollipop (API 21) altındaki android sürümlerinde bu tip uygulamaların çalışması için dex birleştirme işlemi yapılmasının zorunlu olmasındandır. Dex birleştirme işlemleri’de uzun sürdüğü için derleme süreci çok uzun olabilir ve bu da geliştirme sürecini yavaşlatır.

Öncelikle MultiDex projede ki “build.gradle” dosyasının defaultConfig bölümüne göz atalım.

defaultConfig {
        applicationId "com.paket.adiniz"
        targetSdkVersion 23
        minSdkVersion 10
        versionCode 1
        versionName "1.0"
        multiDexEnabled = true
    }

Gördüğümüz gibi minimum desteklediğimiz SDK sürümümüz 10. Dolayısı ile her derlemede dex birleştirme işlemi yapılacak.

Test ettiğimiz cihaz veya emulatörün android sürümü Lollipop ve üstü ise “build.gradle” dosyasını aşağıdaki gibi değiştirebiliriz.

defaultConfig {
        applicationId "com.paket.adiniz"
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
        multiDexEnabled = true
    }
    productFlavors {
        dev {
            // dev utilizes minSDKVersion = 21 to allow the Android gradle plugin
            // to pre-dex each module and produce an APK that can be tested on
            // Android Lollipop without time consuming dex merging processes.
            minSdkVersion 21
        }
        prod {
            // The actual minSdkVersion for the application.
            minSdkVersion 10
        }
    }

Gördüğümüz gibi productFlavors altında dev ve prod diye iki adet bölüm ekledik ve defaultConfig altından minSdkVersion bölümünü çıkardık. Bu işlem ile “Build Variants” eklemiş olduk.

View post on imgur.com

Geliştirme yaparken resimde görüldüğü gibi devDebug seçerek dex birleştirme işlemi yapmadan hızlı bir şekilde derleme işleminde devam edebiliriz.

Ürün apk’sı çıkarırken veya 21 altı sdk’larda deneme yaparken debProd seçmemiz yeterli. Tabiki bunu yaparken dex birleştirme işlemini de yapmış olacak ve hızlandırma olmayacak.

Android studio’daki diğer performans önerileri için bu link’i inceleyebilirsiniz.

Selamlar

Android Studio Performans önerileri

Merhabalar,

Android geliştiricileri olarak en çok vaktimizi harcayan işlerden biri şüphesiz ki derleme süreci. Özellikle MultiDex projelerin derlenmesi çok uzun sürüyor ve bu geliştirme süreçlerini uzatıyor. İşte tecrübe ettiğim işinize yarayacak bir kaç öneri.

Daemon
Uzun süre projeniz derlemeden bırakılırsa gradle’ın arkada çalışan servisi durdurulur ve yeniden başlatılana kadar süre geçer. Hiç durdurulmaması için “gradle.properties” dosyasına aşağıdaki satırı ekleyin.

org.gradle.daemon=true

Eğer tüm projelerden bu özelliği aktif etmek isterseniz “/home/<kullanici adiniz>/.gradle/” dizininde bulunan “gradle.properties” dosyasına eklemelisiniz. Eğer bu dosya yoksa oluşturmalısınız.

Paralel Derleme
Gradle birbirinden bağımsız olan projeleri paralel bir şekilde derleyebilir. Bu sayede bir birini beklemeden aynı anda derleme yapar. Paralel olmayandan daha fazla kaynak tüketebilir fakat derlemeyi hızlandırırsınız. Bunun için “gradle.properties” dosyasına aşağıdaki satırı ekleyin.

org.gradle.parallel=true

Eğer tüm projelerden bu özelliği aktif etmek isterseniz “/home/<kullanici adiniz>/.gradle/” dizininde bulunan “gradle.properties” dosyasına eklemelisiniz. Eğer bu dosya yoksa oluşturmalısınız.

MultiDex proje
Bunun için bu linkte bulunan yönergeleri izleyebilirsiniz.

En son gradle sürümünü kullanın
Bu linkte bulunan en son gradle sürümüne bakalım. Mesela şimdiki sürümü 2.11. Sizinde öyle olduğunu varsayıyorum. Daha yüksekse onu girin.
File->Project Structure->Project->Gradle version takip ederek kullandığımız gradle sürümüne bakalım. Eğer güncel değil ise değiştirelim.

Derleyici ayarlarını değiştirin
File–>Settings (Ctrl+Alt+S) –> Compiler takip ederek “Compile independent modules in parallel”, “Make project automatically”, “Use in-process build”, ve “Configure on demand” seçelim ve OK tuşuna basarak onaylayalım.

Çevrimdışı çalışma
Android studio’ya yeni bir bağımlılık eklediğinizde bunu repo üzerinden otomatik olarak bulur ve belirli aralıklarla da kontrol eder. Kontrol ederken ise derleme süresi uzar. Bu yüzden;

File–>Settings (Ctrl+Alt+S) –>Build Tools –> Gradle –> Offline work işaretleyerek onaylayalım. Artık sadece diskteki bağımlılıkları kullanacaktır. Yeni bir bağımlılık eklerseniz veya sürümünü değiştirirseniz bunu bulamaz ve size çevrimdışı çalışmayı kapatmanızı önerir. Bu gerektiği durumda açarak diğer durumlarda kapatabilirsiniz.

Android Studio 2.0 altı sürümde çalışıyorsanız beta sürüme geçme
Android studio 2.0-beta5 sürümü özellikle derleme performansı üzerine geliştirilmiş bir sürümdür. Bu sürümü alıp üzerinde çalışabilirsiniz. Fakat kararlı sürümler üzerinde güncelleme yapıyorsanız bu sürümü göremezsiniz. Görebilmek için;

Help–>Check for update: Zaten son sürümde olduğunuzu söyleyecek. (Güncelleme varsa tabi indirin).
Mavi harflerle yazılmış “Updates” yazısına tıklayalım ve güncelleme ayarlarını açalım.
“Stable Channel” ‘dan “Beta Channel” ‘a çevirelim ve OK tuşuna basıp çıkalım.
Hemen arkasından yine Help–>Check for update diyerek yeni sürümün indirilmesini sağlayalım.

Selamlar