UNITY Android SDK Kurulumu – Resimli Anlatım

Yayınlandı: 17 Temmuz 2013 yasirkula tarafından Oyun Tasarımı, UNITY 3D içinde

GÜNCELLEME – 26.05.2019: Android Studio ile SDK kurulum talimatları eklendi.

Hepinize tekrar merhaba,

Bu derste UNITY 3D oyun motorunda Android‘e oyun geliştirmek için gerekli olan Android SDK‘nın kurulumunu anlatacağım.

NOT: Unity 2019 ile birlikte, artık Android modülünü kurarken otomatik olarak Android SDK’da kurabiliyorsunuz. Bu yolu kendim denemediğim için Admob gibi plugin’ler ile ne kadar uyumludur bilmiyorum ama eğer Android SDK’yı bu şekilde kurmak isterseniz, dersin devamını okumanıza gerek yok:

Hazırsanız başlayalım…

Her şeyden önce Android SDK’nın yüklenebilmesi için sisteminizde Java JDK (Development Kit)’in kurulu olması lazım. Java’nın resmî web sitesinden (http://www.oracle.com/technetwork/java/javase/downloads/index.html) JDK’yı kolayca temin edebilirsiniz.

NOT: Unity’nin JDK 9 sürümü ile olası bir uyumsuzluğundan dolayı (https://forum.unity.com/threads/java-9-jdk-9-support-by-unity-android.499354/) JDK 8 kurmanızı öneririm: http://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html

Android SDK’yı iki şekilde kurabilirsiniz: Android Studio kullanarak veya SDK Manager kullanarak. Artık Google’ın tavsiye ettiği yöntem Android Studio ile SDK kurulumu olduğu için, ben de aynısını öneriyorum. Mümkünse SDK Manager kullanmayın.

Android Studio ile SDK Kurulumu

BONUS: Android Studio’nun bir başka avantajı da, beraberinde gelen Logcat ile oyunlarınızı debug edebilmeniz: https://yasirkula.com/2015/10/13/unity-android-oyunlarinizi-debug-etmek/

1- Android Studio’yu kurun: https://developer.android.com/studio

2- Uygulamayı açın ve Tools-Android-SDK Manager ayarlarını açın (veya bir proje oluşturmadan direkt SDK ayarlarına ulaşmak için resimdeki yolu izleyin:

3- Benim önerim, öncelikle Android SDK’yı güzel bir konuma taşımanız (özellikle içerisinde boşluk karakteri olmayan bir konuma çünkü yoksa bazen Android Studio sapıtabiliyor). Bunun için gelen pencerede Android SDK Location yazan yeri kopyalayın, o konuma gidin ve o klasörü C:\android-sdk gibi daha güzel bir konuma taşıyın (direkt klasörü kesin, C’ye veya D’ye yapıştırın ve ismini android-sdk yapın). Ardından bu yeni konumu Android SDK Location’a şekildeki gibi aktarın:

4- Konumu değiştirdikten sonra emin olmak için Android Studio’yu bi yeniden başlatın.

5- Açıkçası artık hangi Android SDK bileşenlerinin Unity (ve kullanıyorsanız Admob gibi plugin’ler) için gerekli/yeterli olduğunu bilmiyorum, o yüzden direkt kendi ayarlarımı aşağıdaki resimde gösterdim. Ben bu bileşenler kurulu iken Unity’de Android’e sıkıntısız build alabiliyorum:

Bu bileşenleri seçtikten sonra sağ alttaki Apply tuşuna basarak onları kurabilirsiniz. Yüklü bir bileşende güncelleme olduğu zaman, o bileşenin sağındaki Status kısmında “Update available” yazar. Bu durumda o bileşeni güncellemek için de yanındaki kutucuğu işaretleyip yine Apply yapabilirsiniz.

EKLEME (30.05.2019): Resimdeki bileşenler yüklü iken Unity 2018.3 ile Gradle‘da build alırken sıkıntı yaşadım, çözmek için sağ alttaki “Show Package Details” butonuna tıklayıp “SDK Build-Tools“da şu şekilde değişiklik yaptım ve Apply dedim. Bu sefer build almaya çalışınca Unity karşıma bir kutucuk çıkardı ve ben bu kutucuktaki Update butonuna tıkladıktan sonra (niye böyle bir kutucukla karşılaştığımı ben de bilmiyorum) başarılı bir şekilde build alabildim.

SDK Manager ile SDK Kurulumu (Önerilmez)

1- http://developer.android.com/sdk/index.html adresine girin. Aşağılardaki “Other Download Options-SDK Tools Only” başlığı altında yer alan linki kullanarak installer’ı bilgisayarınıza indirin.

Güncelleme (28.01.2017): Artık “SDK Tools Only” seçeneği kalkmış gibi gözüküyor. Onun yerine şu linkten SDK Manager’ı indirebilirsiniz: https://dl.google.com/android/installer_r24.4.1-windows.exe

Kaynak: http://stackoverflow.com/questions/37505709/how-do-i-download-the-android-sdk-without-downloading-an-android-studio

2- Dosyayı indirin ve çalıştırın. Yükleme penceresinde “Next” butonuna bastıktan sonra 2 durumla karşılaşmanız olası: ya yükleme işlemi istendiği gibi devam eder ya da aşağıdaki resimdeki gibi bir “JDK not found” hatasıyla karşılaşırsınız. Eğer karşınıza bu hata ekranı çıktıysa 3. ve 4. adımları uygulayın, yükleme sorunsuz gerçekleştiyse 5. adıma zıplayın.

2

3- Bilgisayar’a sağ tıklayıp Özellikler deyip Gelişmiş sistem ayarları-Ortam Değişkenleri… yolunu izleyin. Karşınıza gelen pencerede “Yeni…” butonuna tıklayın.

3

4-Değişken adı:” olarak JAVA_HOME yazın ve “Değişken değeri:” olarak JDK‘yı kurduğunuz klasörün konumunu yazın ve ardından “Tamam“a tıklayın. Şimdi Android SDK kurulumunu tekrar çalıştırın.

4

5- Kurulum işlemi tamamlandıktan sonra “Android SDK Manager” açılacak. Burada seçeceğiniz maddeleri isterseniz benim yaptığım gibi yapabilirsiniz (mümkün olduğu kadar gereksiz seçimleri kaldırmaya çalıştım). Dikkat etmeniz gereken husus “Android 2.2“den büyük en az 1 tane madde seçmiş olmanız ve ayrıca “Google USB Driver“ın ve “Tools“taki 2 seçeneğin de seçili olması. Seçimlerinizi yaptıktan sonra “Install x packages…” butonuna tıklayın.

5

6- Şimdi karşınıza gelecek olan pencerede sol taraftan “Android Googletv License” ve “Android SDK License” gibi ana başlıkları tek tek seçip sağ alttan “Accept License” seçeneğini seçin. Tüm ana başlıklar için bunu yaptıktan sonra “Install” butonuna tıklayarak Android SDK’nın kurulumunun tamamlanmasını bekleyin.

6

SDK’nın Unity’e Tanıtılması

1- (Unity 5 ve üzeri için) Unity’i kurarken Android Build Support seçeneğini seçmiş olmanız lazım. Eğer bu seçeneği seçmeyi unuttuysanız Unity setup dosyasını açıp sadece “Android Build Support”u işaretleyip kurulumu tamamlayın.

AndroidModule

2- Unity’i açıp “Edit-Preferences…-External Tools…” yolunu izleyin, “Android SDK Location” kısmına tıklayın ve Android SDK’yı kurduğunuz konumu seçin (Bende C:\android-sdk konumunda).

2.1- (Unity 2019 ve üzeri için) Eğer Unity ile gelen Android SDK’yı (dersin başındaki resme bakınız) kurmak yerine bu dersteki yolu izlediyseniz, 2. adımı şu şekilde uygulayabilirsiniz:

  • Yine aynı “Edit-Preferences…-External Tools…” penceresinden “Android SDK Tools Installed With Unity” seçeneğinin başındaki tiki kaldırın ve SDK‘ya Android SDK’nın konumunu girin
  • Eğer build alırken sıkıntı yaşarsanız, “JDK Installed With Unity“nin başındaki tiki de kaldırıp JDK‘ya kendi kurduğunuz Java JDK’nın konumu girin

Vee artık hazırsınız! Dilerseniz test amaçlı boş bir proje oluşturun ve Android’e Build yapın. Eğer hata almadan “.apk” dosyasını oluşturabiliyorsanız kurulum sorunsuz tamamlanmış demektir. Hayırlı olsun.

NOT: Çoğu kişi Build ederken şuna benzer bir hata alıyor: “Error building Player: Win32Exception: ApplicationName=’D:\Program Files (x86)\Android\android-sdk\tools\zipalign.exe’, CommandLine=’4 “blabla” “blabla”‘, CurrentDirectory=’Temp/StagingArea’“. Bu hatanın çözümü için şu dersteki “NOT2“yi okuyun: https://yasirkula.com/2014/05/26/unity-3d-android-oyunlariniza-admob-reklamlari-eklemek-resimli-anlatim/

Başka derslerde görüşmek dileğiyle, sağlıcakla kalın!

yorum
  1. atom dedi ki:

    Ben aynen dediğiniz şekilde yaptım ancak kurulduğu yeri bulamıyorum. Nereye kuruldu bu?

    • yasirkula dedi ki:

      Android Studio ile kurarken “Android SDK Location”, SDK Manager ile kurarken de SDK Manager uygulamasının kurulduğu konuma yüklenir.

  2. Doğu Kemal şen dedi ki:

    Hocam unity 2018 sürümünü kullanıyorum. Api seviyesi en son 27 var onu 28 yapmak için nasıl bir yol izlemem gerekli

    • yasirkula dedi ki:

      Eğer 28’den yüksek bir API yüklü değilse “Automatic (highest installed)” yapın, o otomatik olarak en yüksek API’yi kullanır. Aksi taktirde projenizin olduğu klasördeki ProjectSettings/ProjectSettings.asset’i Notepad ile açıp “AndroidTargetSdkVersion”ın değerini elle 28 yapın ve Unity’e restart atın.

      • Sinan Özcan dedi ki:

        Ben de aynı sorunu yaşıyorum. 2018 versiyonda highest installed 27 olarak gözüküyor. Sizin dediğiniz gibi manuel olarak AndroidTargetSdkVersion 28 yaptığımda düzelir mi

      • yasirkula dedi ki:

        Evet düzelmesi lazım. Daha önce kendim böyle bir şey yaptığımda çalışmıştı.

  3. onur dedi ki:

    diyelim ki oyunu android 5,6,7,8 ve 9 sürümlerinde çalışmasını istiyoruz. O halde bunların hepsinin sdklarını indirmeli miyiz ben şahsen bir kere denedim. Bu sürümlerin karşısındaki api leri işaretledim fakat c sürücüm saatlerce indirme yaptı ve 30 gbtan sonra iptal ettim. Çünkü C sürücüsünde 5 gb boşluk kaldı. peki gerçekten hepsini indirmeli miyiz?

    • yasirkula dedi ki:

      Hayır sadece 9’u (ve garanti olması için 8’i) indirin. Bu SDK’ların içinde “… System Image” diye bir çok bileşen de yer alır, bunlar emülatördür. O emülatörleri kullanmayacaksanız indirmenize gerek yok.

  4. ahmet dedi ki:

    hocam merhaba unity yeni başladım flaapybird yaptım fakat tasarım ekranını windows olarak yapmışım androidde build yaptığımda telefona attığımda ekran bilgisayardaki gibi gelmiyor ekrannın yarısı yok bu sorunu nasıl çözebilirim her cihazın ekran boy oranı farklı bunu unity otomatik olarak ayarlamıyor mu ?

    • yasirkula dedi ki:

      Varsayılan olarak canvas piksellerle çalışıyor. Örneğin yükseklik değeri 100 olan bir UI objeniz, 768 piksel yükseliğindeki bir ekranda, 1080 piksel yüksekliğindeki bir ekrana göre daha çok yer kaplar. Neyse ki bunu kolayca çözebilirsiniz. Eğer canvas objenizin Canvas Scaler’ını “Scale With Screen Size” yaparsanız, oradaki parametrelere göre canvas kendisini otomatik olarak büyütür veya küçültür. Referans olması için, ben “Match Width Or Height” modunu seçip “Match” değerini 1 yapıyorum.

  5. Emre dedi ki:

    Android sdk’larinin boyutu ortalama kac gb?

  6. onur dedi ki:

    hocam merhaba ben unity 2019 kullanıyorum otomatik olarak sdk yükledim ama build ederken gradle built failed yazıyor sonra hataları görmek için konsola bakın yazıyor sdk yı manuel olarak ta yükledim yine olmadı 2 jdk sürümü denedim olmadı konsolda yazan hata şunlar gibi

    UnityEditor.BuildPlayerWindow+BuildMethodException: 20 errors
    at UnityEditor.BuildPlayerWindow+DefaultBuildMethods.BuildPlayer (UnityEditor.BuildPlayerOptions options) [0x00242] in C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindowBuildMethods.cs:190
    at UnityEditor.BuildPlayerWindow.CallBuildMethods (System.Boolean askForBuildLocation, UnityEditor.BuildOptions defaultBuildOptions) [0x0007f] in C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindowBuildMethods.cs:95
    UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

    CommandInvokationFailure: Gradle build failed.
    C:/Program Files/Unity/Hub/Editor/2019.3.0a4/Editor/Data/PlaybackEngines/AndroidPlayer/Tools\OpenJDK\Windows\bin\java.exe -classpath “C:\Program Files\Unity\Hub\Editor\2019.3.0a4\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\gradle\lib\gradle-launcher-4.6.jar” org.gradle.launcher.GradleMain “-Dorg.gradle.jvmargs=-Xmx4096m” “assembleRelease”

  7. delamis dedi ki:

    bu yeni sürümler hiç stabil değil, eklentilerle uyuşmuyor ve sürekli hata çıkarıyorlar. Kendi NDK paketlerini yüklememe rağmen ndk uyumlu değil diye hata veriyor. Çok amatörce olmuş

    • yasirkula dedi ki:

      Edit-Preferences…-External Tools’ta hep “Installed With Unity” bileşenlerini kullanıyorsanız en azından NDK sıkıntı çıkarmamalıydı, demek ki o sürümde bi bug olmuş. SDK ve eklenti uyumluluğu ayrı bir şey tabi, ben Unity ile gelen SDK’yı güncellemek için bir yol bulamadım bu yüzden elle SDK kurmak daha mantıklı olabilir.

  8. Mhyldrm dedi ki:

    Hocam Unity’nin yeni 2019.1 sürümünde farklılıklar var sdk ndk vs dosyalar android seçeneğini seçince otomatik geliyor galiba, 2019.1 sürümü ile nasıl build alacağımızla ilgili güncelleme yapacak mısınız ?

    • yasirkula dedi ki:

      O sürümlerde otomatik geldiği için direkt build alabilmeniz lazım (her ne kadar kendim denemesem de). Ama tahminimce Android SDK’yı beraberinde kurmama seçeneğiniz de vardır, SDK’sız kurarak daha sonra SDK’yı kendiniz dersteki gibi de ayarlayabilirsiniz.

      • Mhyldrm dedi ki:

        Hiç bir jdk sdk dosyasını internetten manuel olarak indirmeden unity’nin kendi dosyaları ile build alabiliyoruz. Ama peki bu reklam işi nasıl olacak eski sürümlerde import ediliyor bazı pluginleri ondan sonra sdk managera girip bazı şeyleri indiriyoruz ama yeni yani 2019.1 sürümünde nasıl olacak kaç gündür defalarca farklı yöntemlerle denedim ama sonuç alamadım.

      • yasirkula dedi ki:

        Unity 2019 ile kurduğunuz SDK ile Admob’u build alamıyorsanız, bu derste gösterdiğim gibi kendiniz Android SDK kurup onu Unity’e tanıtabilirsiniz.

  9. emrullo dedi ki:

    merhaba ben build ederken şu hataları alıyorum
    1-Error building Player because scripts had compiler errors

    2-UnityEditor.BuildPlayerWindow+BuildMethodException: Build failed with errors.
    at UnityEditor.BuildPlayerWindow+DefaultBuildMethods.BuildPlayer (BuildPlayerOptions options) [0x001b9] in C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindowBuildMethods.cs:162
    at UnityEditor.BuildPlayerWindow.CallBuildMethods (Boolean askForBuildLocation, BuildOptions defaultBuildOptions) [0x00050] in C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindowBuildMethods.cs:83
    UnityEditor.HostView:OnGUI()

    lütfen yardımcı olunuz…..

    • yasirkula dedi ki:

      1. hata script’lerinizde bir hata olduğunu söylüyor ama 2. hata başka bir bilgi vermiyor. Başka bir hata mesajı varsa, sorun o hata mesajında yazıyor olabilir.

  10. seçkin yavuz dedi ki:

    Merhaba, google play store un 2019 ağustosu için 64 bit zorunlu olma kuralına uyarak şuan yapımı devam eden oyunumda apk çıktısı alırken IL2CPP hatası alıyorum. 64 bit olması için IL2CPP açmam gerekiyor fakat Mono’da sorun olmuyorken IL2CPP’de “Exception: C:\Program Files\Unity 2018.3.8\Editor\Data\il2cpp/build/il2cpp.exe did not run properly!” diye hata alıyorum. Birçok kişi bu hatayla karşılaşmış ve çözüm bulmuş fakat hiçbiri işe yaramadı. Bu konuda ne yapabiliriz sizce?

    • yasirkula dedi ki:

      Projenizin konumunda boşluk karakteri, noktalama işaretleri veya Türkçe karakter varsa (mesela C:\Unity projelerim\Karışık tost), projeyi başka bir konuma (mesela C:\Karisik_tost) kopyalayıp o konumda tekrar açmayı ve build almayı deneyebilirsiniz. Olmazsa projenin olduğu konumdaki Library/il2cpp_cache ve varsa Library\android_cache klasörlerini silip bilgisayarı yeniden başlatıp tekrar deneyebilirsiniz. Aksi taktirde benim de bir bilgim yok, bunlar internetten bulduğum çözüm yolları.

  11. Levent dedi ki:

    Yasir bey android için build alırken gradle ile hata veriyor ama internal ile hata vermednen apk alabiliyorum . Aralarında ne fark var. Bilgi ricası ile .Teşekkürler .

    • yasirkula dedi ki:

      İnternette biraz bakındım ama pek açıklayıcı bir şey bulamadım. Herkesin dediği şey, Gradle sisteminde, Unity’den bağımsız bir şekilde çalışan Gradle isimli Android geliştirme platformu ile projemiz build edilirken (yani build alma işinin bir kısmını Unity dışarıdan gradle diye bir programa yaptırıyor), Internal’da her şey Unity’de gerçekleşiyor. Gradle şu anda Android Studio’da da kullanılan sistem olduğu için, güncel uygulamalar için daha tercih edilebilir bir sistem. Ayrıca yakında Internal sistemi Unity’den kaldırılacak gibi duruyor (deprecated).

  12. Gencer dedi ki:

    Hocam merhaba. Ben oyunu apk ya çeviriyorum. Telefona bir kere kurunca tekrar kurulmuyor. Farklı cihazlara da kurulmuyor. Yüklenemedi hatası veriyor. Sorun android sürümü değil sanki ürün keyi var tek kullanımlık , kullanınca iptal oluyor gibi. Sizce nedendir bu.

    • yasirkula dedi ki:

      Daha önce hiç yaşamadım veya duymadım. Build&Run yapmak işe yaramazsa mecburen her seferinde oyunu silip tekrar kurun.

      • Gencer dedi ki:

        Apk tekrar kurulsa ona da razıydım ama sanki internetten bu oyun kurulamaz gibi bir veri gönderiyo ve bütün apk kopyalarını bozuyor. Neyse cevabınız için teşekkür ederim. Çözüm bulursam yazarım.

    • Mehmet dedi ki:

      Merhaba dediğin olay telefonda kayıtlı kalıyor ve google bunu zararlı olarak algılıyor daha önce başıma gelmişti, şöyle bir çözüm bulmuştum uygulama kurulu ise güncellemede böyle hata veriyorsa uygulamayı direk kaldırın internet bağlantısını kesin ve kurun sorun ortadan kalkacaktır

ahmet için bir cevap yazın Cevabı iptal et

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google fotoğrafı

Google hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.