7

yavaştır. Uygulamam tam bir yerel C++ uygulaması. Android Studio 2.0 Beta 5 ve Gradle Experimental 0.6.0-beta4 kullanıyorum.Android Studio yerel kod derleme Geçenlerde Android Studio Eclipse + ADT gelen anahtarlamalı

Android Studio derleme süreçleri doğal kod çok yavaş. Stackoverflow ve İnternet'teki tüm soruları okudum. Önerilen tüm yöntemleri uyguladık (--offline, --daemon, --parallel, --XmxSize, vb.). Çoğunlukla Java kodunun oluşturulmasını hızlandırmaya çalışıyorlar. Yerel C++ dosyalarının derleme işlemi (ndk-build) hala çok yavaştır. Bir satır C++ kodu yazsam bile, Eclipse'in derlenme zamanının aynı iş için 15-20 saniye olduğu her zaman Run düğmesini tıkladığımda 5-7 dakika beklerim.

Android Studio üzerinde yerli kod (C/C++) derlenmesi süreci hızlandırmak için herhangi bir öneriniz var mı?

+0

http://ph0b.com/android-studio-gradle-and-ndk-integration/ –

+0

@AlexCohn bölümünde açıklandığı gibi ndkBuild adımını ayırmaya çalışın. Bu, Android Studio'dan çıkar. Yerel uygulamalarla ilgilenmeyen, ancak bazı yerel kütüphaneleri kullanan Java uygulamaları için bir seçenek olabilir. Uygulamam, doğal bir yerel uygulama. Gradle-deneysel yapı sisteminde bir çözüm arıyorum. – Rancs

+1

Bir numara, Android Studio'nun geliştirdiği ABI'ları sınırlamak olabilir. –

cevap

1

Eğer NDK yapı hızlandırmak için ben yazarlardan var linux üzerinde inşa ediyorsanız:

cd <ndk-bundle-path> 
mv ndk-build ndk-build2 

Şimdi aşağıdaki içeren bir adlandırılan shell script "ndk-yapı" oluşturmak:

Şimdi
#!/bin/sh 
$(dirname $0)/ndk-build2 -j 8 [email protected] 

yeni komut yürütme izinlerini ayarlayın:

Şimdi
chmod 775 ndk-build 

, içinde (ndk-yapı başlatmak kimse ipucu/android stüdyo ipucu eşzamanlı olarak 8 çekirdeği nesne dosyaları dışarı patlama için zor olacaktır. 8 çekirdek sadece bir örnektir. Bunu, sahip olduğunuz çekirdek sayısına göre ayarlamanız gerekir. Mevcut çekirdeğin sayısına göre çok yüksek ayarlarsanız, genellikle performansı kaybedersiniz. CPU'da hiper diş varsa, çekirdek sayısını ikiye katlayabilirsiniz.

Ben bir toplu komut dosyası veya başka bir şeyle pencerelerde bunu yapmanın bir eşdeğer bir yolu vardır eminim ama bir windows makine mevcut atm yok.

+0

Neden ** 8 ** çekirdek? Bu bir değişmez mi? –

+0

Bu sadece hiper iş parçacığı ile 4 çekirdek var çünkü. Onu sahip olduğunuz her şeye ayarlamalısınız. Fiziksel çekirdek sayısından daha yüksek ayarlarsanız (hiper iş parçacığı çiftse) genellikle performansı kaybedersiniz. – bofjas