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!

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


70 yanıt

  1. AZERBAIJAN-Karabakh Avatar

    Salam . Unity 3d də oyunumu BUİLD edən zaman həmişə belə bir ERROR çıxır:
    Gradle build failed . See the console for details .
    CONSOLDA İSƏ BELƏ YAZILAR GƏLİR:

    FAILURE: Build failed with an exception.

    * Where:
    Build file ‘F:\UNİTY PROYEKTERİ\Games\2D\Ball Basket 2D\Library\Bee\Android\Prj\IL2CPP\Gradle\launcher\build.gradle’ line: 1

    * What went wrong:
    A problem occurred evaluating project ‘:launcher’.
    > Failed to apply plugin [id ‘com.android.internal.application’]
    > Your project path contains non-ASCII characters. This will most likely cause the build to fail on Windows. Please move your project to a different directory. See http://b.android.com/95744 for details. This warning can be disabled by adding the line ‘android.overridePathCheck=true’ to gradle.properties file in the project directory.

    1. yasirkula Avatar

      Projenizin olduğu konumda sadece İngilizce karakterler kullanmayı deneyin. Yani “UNİTY PROYEKTERİ” klasörünün ismini “UNITY PROYEKTERI” yapabilirsiniz.

  2. Altay Olcay Avatar

    Bununla alakası varmı bilmiyorum ama, orjiinal gelişleri ile sdk jdk ndk ile apk olarak build ettim. BlueStacks 5 de test yapmaya çalıştığımda, Unity introsu dahi girmiyor. Siyah ekran var sadece. Bunun nedenini veya debug yapabileceğim bir yöntem var mı apk da? Not olarak unity 2020 ve unity 2021 de deneme yaptım.

    1. yasirkula Avatar

      Logcat kullanarak debug yapabilirsiniz. Bence de oradaki log’lara bakmadan bu sorunun kaynağını bulmanız zor olabilir.

      1. Altay Olcay Avatar

        Sorunla karşılaşanlar için yazı bırakmak istedim. Logcat kullanarak sorunu çözdüğümü düşünüyordum. Sdk sorunu olarak gözüküyordu. Harici jdk sdk ve sonrada gradle hatası verdiği için harici gradle klasörü oluşturdum. İşi açıkcası çözemedim hala aynı hatayı verdi. Bende unityi silme riskini göze aldım. Sildim son lts sürümünü yükledim. O sürümdede sdk hatası verdi. C/android/sdk diye klasör oluşturdum ve orjinal sdk yı oraya yükledim. Sorunumun unity introsu gözükmeme sorununu çözdüm. Artık BlueStacks 5 de test ettiğimde intro gözüküyor başlangıçta sonra ekran gelmiyor. Şimdi bu sorun ile cebelleşiyorum. LogCat kullanmayı tam olarak bilmiyorum. Bu yüzden Yasir Kula nın “Oyun İçi Debug Konsolu” denedim. Verdiği hata sarı ünlemde “There are 2 event systems in the scene. Please ensure there is always exactly one event system in the scene
        UnityEngine.EventSystems.EventSystem:Update () (at Library/PackageCache/com.unity.ugui@1.0.0/Runtime/EventSystem/EventSystem.cs:514)” yani uygulamada 2 Sistem event kullandığım hatası idi. Not:Ekranda sadece 1 adet Event Sistem var. Neyse şimdilik bu gün biraz dinleneceğim. Eğer sorunumu çözersem buraya yazarım, ihtiyacı olan arkadaş olursa buradan okuyup işini çözebilir. İyi çalışmalar Yasir Kula.

      2. yasirkula Avatar

        Aldığınız uyarı kritik değil, onu yoksayabilirsiniz. Eğer oyun içi konsol ekrana geliyorsa, sahneniz yükleniyordur. Aktif bir kameranız olduğundan emin olun. İsterseniz şu aracı kullanarak oyun esnasında Hierarchy ve Inspector’a erişip kamerayı vs. kontrol edebilirsiniz.

      3. Altay Olcay Avatar

        Araştırmamı sonralandırdım çözümü buldum. Aslında sdk ları halledince intro ekranı gelince olay çözülmüştü. “Unity Remote Inspector” kullanarak da kamera kontrolü yaptım herşey normaldi. Tüm yabancı kaynaklara bakarak çözmeye çalştım sorunumu XR lere bile girdim neden çözüm bulamıyorum diye. Artık miğde bulantısı yaşanır ya, tam o seviyedeyken çözdüm.

        BlueStack emülatör kullanan ve introdan sonra ekranı gelmeyen arkadaşlara gelsin bu çözüm yolu. Bu nalet saatlerimi harcatan emülatör 5 i kullanıyordum. Bu emülatör Başlangıç olarak Nougat 32bit işletim sistemini(Sanırım Android 7ye denk geliyor.) kullanıyor. Player Settingden her ne kadar En düşük Android seviyesi lollipop yani Android 5 dersenizde BlueStack emülatör introdan sonra siyah ekran verdi. Çözüm: Bende sağdaki menüden “Çoklu Örnek Yöneticisi” sekmesini tıklayarak, yeni bir android işletim sistemi (En fazla pie yani 9 meta mevcut) onu kuruyoruz. Ve işletim sistemini başlatıyoruz.

        Kurduktan sonra uygulamayı yüklerken google bilinmeyen uygulamayı kabul etmiyor tatavasını söylesede zorla yükle zorla başlat diyoruz. Sonunda introdan sonra proje başlıyor.

        Bana daha iyi bir test yapmak için emületör veya bu sorunu çözmem için gerekli sdk vs. varsa söylerse sevinirim. Android sürümü 5 ve ondan sonrasındaki tamamını yükledim. Android Sdk Build tools 30.0.0 ve sonrasının tamamını yükledim. Ama Android 7de neden çalışmadıda 9 da çalıştı proje bilemedim.

      4. yasirkula Avatar

        Sorunu çözebilmenize sevindim. Ben Android Studio’nun emülatörünü kullanıyordum ama ARM emülatörü hem yavaş hem de mevcut bilgisayarımda nedense çalışmıyor; yine de başka bir emülatörle tecrübem olmadı. Yaşadığınız sorun emülatör kaynaklı mı yoksa gerçek cihazlarda da olur mu maalesef ben de bilemiyorum.

  3. SDK Avatar

    teşekkürler,
    Normal Unity Hub ilesdk kurulumu daha sağlıklı değil mi?

    1. yasirkula Avatar

      Bir şey diyemeyeceğim. Ben Android Studio ile kendim SDK kurdum ve henüz sorun yaşamadım.

  4. Mustafa Avatar
    Mustafa

    FAILURE: Build failed with an exception.

    * What went wrong:
    Gradle 5.1.1 requires Java 8 or later to run. You are currently using Java 6.

    * Try:
    Run with –stacktrace option to get the stack trace. Run with –info or –debug option to get more log output. Run with –scan to get full insights.

    * Get more help at https://help.gradle.org

    böyle bir hata alıyorum nasıl bir yol izlemeliyim iyi günler

    1. Mustafa Avatar
      Mustafa

      yukardaki hatayı güncelleme yapıp çözdüm. başka sorum ise pc de banner reklamı ekledım pc de gözüküyor ama telefonda gözükmüyor sorun bu uyarıdamı sizce (You are trying to create a MonoBehaviour using the ‘new’ keyword. This is not allowed. MonoBehaviours can only be added using AddComponent(). Alternatively, your script can inherit from ScriptableObject or no base class at all) 5 6 saattir kaynak arıyorum ama çözemedim lütfen yardım edermisiniz teşekkürler

      1. yasirkula Avatar

        Hayır o uyarı sadece editörde çıkıyor. Logcat kullanıp, cihazda ilginç bir log var mı kontrol etmenizi öneririm: https://yasirkula.com/2015/10/13/unity-android-oyunlarinizi-debug-etmek/

  5. Efe Avatar
    Efe

    Selamlar, Yasir hocam Unity 2020.3.4f1 sürümünü indirdim ve SDK-NDK unity hub üzerinden kurdum. Unity 2018 sürümünde yaptığım projemi Unity 2020 ile açtım. Unity de ‘player setting’ ayarlarına girdiğimde şöyle bir sorunla karşılaşıyorum. ( File C:\Users\-Win-SSD\.android\repositories.cfg could not be loaded. ) Not: Android Studio kurulu değil.
    Bu sorunu nasıl çözebilirim ?

    Teşekkürler.
    Saygılarımla,

    1. yasirkula Avatar

      Maalesef bilgi sahibi olmadığım bir konu. Bir sorun çıkarmıyorsa yoksayın derim.

  6. yunus toprakcı Avatar
    yunus toprakcı

    hocam java 8 i indirirken kaydolma alanında bi sorun olurmu?

    1. yasirkula Avatar

      Bildiğim kadarıyla Unity varsayılan olarak OpenJDK kullanıyor. Ben JDK indirdiğim zaman kayıt olma muhabbeti yoktu; eğer kayıt olmak istemezseniz OpenJDK kullanabilirsiniz.

  7. muhammed kosek Avatar
    muhammed kosek

    HOCAM Failed to update Android SDK package list hatası alıyorum, ne yapmalıyım? oricle java 14 kurdum sdkları android studio ile kurdum fakat build hatası alıyorum. yardım ederseniz çok mutlu olurum. teşekkürler.

    1. yasirkula Avatar

      Java 14’ü silip Java 8 kurmayı deneyebilirsiniz. İşe yaramazsa şu konuya göz atabilirsiniz: https://forum.unity.com/threads/failed-to-update-android-sdk-package-list-error-when-using-sdk-installed-with-unity.722777/

      1. muhammed kosek Avatar
        muhammed kosek

        Tamamdır hocam, bide şöyle bir hata alıyorum “task…..” Task ile başlıyor sebebi nedir ?

      2. yasirkula Avatar

        Önemsiz bir şey olabilir, tek başına bana bir şey ifade etmedi.

      3. muhammed kosek Avatar
        muhammed kosek

        HATA ŞU ŞEKİLDE HOCAM;

        CommandInvokationFailure: Gradle build failed.
        C:/Users/90536/2019.4.3f1/Editor/Data/PlaybackEngines/AndroidPlayer\OpenJDK\bin\java.exe -classpath “C:\Users\90536\2019.4.3f1\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\gradle\lib\gradle-launcher-5.1.1.jar” org.gradle.launcher.GradleMain “-Dorg.gradle.jvmargs=-Xmx4096m” “assembleRelease”

        stderr[

        FAILURE: Build failed with an exception.

        * What went wrong:
        Execution failed for task ‘:launcher:packageRelease’.
        > 1 exception was raised by workers:
        java.lang.RuntimeException: java.lang.RuntimeException: com.android.ide.common.signing.KeytoolException: Failed to read key kosekgames from store “C:\Users\90536\Desktop\findme\anahtarbrain.keystore”: Cannot recover key

      4. yasirkula Avatar

        Aldığınız hata mesajı bu: “java.lang.RuntimeException: java.lang.RuntimeException: com.android.ide.common.signing.KeytoolException: Failed to read key kosekgames from store “C:\Users\90536\Desktop\findme\anahtarbrain.keystore”: Cannot recover key”. Hatanın ney olduğunu ben de bilmiyorum ama google’da “Failed to read key from store unity” şeklinde arayabilirsiniz.

      5. muhammed kosek Avatar
        muhammed kosek

        HOCAM öncelikle yardımınız için size sonsuz teşekkürlerimi iletmek isterim. Sorunun çözümünde bana yol gösterdiniz. Çözüme gelince;
        bu tarz hata alan ve gelecekte sizin oluşturduğunuz bu güzel eşsiz türkçe arşivde çözüm arayacak arkadaşlar için yazıyorum;
        TAMAMİYLE ŞİFRE HATASI!
        project setting penceresinde bulunan publishing setting bölümünde “alias” yazan satırın hemen altında bulunan şifre satırına şifrelerini büyük harfle yazdıktan sonra bir alt bölümde bulunan şifre satırına da küçük harfle şifrelerini yazarlarsa benim aldığım hatayı almayacaklar. sorunsuz build ettim!
        desteğiniz için teşekkür ederim.
        bu arada telegram kanalınız vs var mı? katılmak isterim
        🙂

      6. yasirkula Avatar

        Elinize sağlık. Benim Telegram veya Discord vari kanalım yok, düşündüğünüz için teşekkürler.

    2. suat Avatar
      suat

      debug.log(); calısmıyor neden acaba

      1. yasirkula Avatar

        Debug.Log’un olduğu fonksiyonun kendisi çağrılmıyor olabilir. Android cihazda test ederken ise logcat kullanmak zorundasınız: https://yasirkula.com/2015/10/13/unity-android-oyunlarinizi-debug-etmek/

  8. Barış Avatar
    Barış

    Java JDK 14 sürümü sizce sıkıntı çıkar mı Unity için? Ve ARM64 seçtim ARMV7 de seçmeli miyim? zaten Build architecture de x86 kapattım 64 bit uyumu için.

    1. yasirkula Avatar

      Unity’de JDK 14’ün bahsinin geçtiğini hiç görmedim, sıkıntı çıkıp çıkmayacağını görmek için sanırım illa build almanız gerekecek. 32-bit Android cihazların halen güçlü bir pazar payı olduğu için ARMv7’yi de işaretlemenizi öneririm.

      1. Barış Avatar
        Barış

        Çok teşekkürler sağolun.

  9. Erdinç Avatar
    Erdinç

    Merhaba, bu JDK 8’i kurmak için illa siteye üye olmak mı gerekiyor, başka yolu yok mu?

    1. Erdinç Avatar
      Erdinç

      Hallettim.

  10. enes ecioğlu Avatar
    enes ecioğlu

    yaptım değişken kısmını olmadı bu hatalar düzelmiyor

    1. yasirkula Avatar

      Edit-Preference-External Tools’ta Android SDK’in başındaki tiki kapatıp tekrar açmak bazı kişilerde işe yaramış. Unity sürümünü güncellemenin işe yaradığını söyleyen de olmuş. Veya 64-bit JDK yerine 32-bit kurup JAVA_HOME’u onunla değiştirince de sorunu çözülen olmuş. Bunlar işe yaramazsa maalesef bu sorun beni aşıyor.

  11. Bulent Levent Avatar
    Bulent Levent

    Yasir bey
    Bende en son api level Android 6 (Api 23) kurulu Sdk da.
    Unity ‘de Min api Android 5 (Api 21) Target olarakta Android 6 (Api 23) (Unity 2017.4.17f1 kurulu) seçtim. Target Apiyi yukseltmeme gerek varmı .Apk aldığımda telefonda oyun sorunsuz çalışıyor .Fakat google reklamlarında proplem olur mu.

    1. yasirkula Avatar

      Oyununuzu Google Play’e yükleyebilmek için, Target olarak en az API 28’i seçmeniz gerekli gibi duruyor: https://developer.android.com/distribute/best-practices/develop/target-sdk. Minimum API değerini ise olabildiğince düşük tutmanızı öneririm, bu değerin altındaki Android cihazlarda oyununuz çalışmayacaktır.

  12. atom Avatar
    atom

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

    1. yasirkula Avatar

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

  13. Doğu Kemal şen Avatar
    Doğu Kemal şen

    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

    1. yasirkula Avatar

      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.

      1. Sinan Özcan Avatar
        Sinan Özcan

        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

      2. yasirkula Avatar

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

  14. onur Avatar
    onur

    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?

    1. yasirkula Avatar

      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.

  15. ahmet Avatar
    ahmet

    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 ?

    1. yasirkula Avatar

      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.

  16. Emre Avatar
    Emre

    Android sdk’larinin boyutu ortalama kac gb?

    1. yasirkula Avatar

      Şu an bende yüklü Android SDK 8 GB boyutunda. Ortalama bir boyut varsa da herhalde minimum 5 GB’tır.

  17. onur Avatar
    onur

    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”

    1. yasirkula Avatar

      Bu hata mesajlarının tamamını yasirkula@gmail.com‘a atın, oradan daha rahat bakarım.

  18. delamis Avatar

    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ş

    1. yasirkula Avatar

      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.

  19. Mhyldrm Avatar
    Mhyldrm

    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 ?

    1. yasirkula Avatar

      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.

      1. Mhyldrm Avatar
        Mhyldrm

        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.

      2. yasirkula Avatar

        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.

  20. emrullo Avatar

    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…..

    1. yasirkula Avatar

      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.

  21. seçkin yavuz Avatar
    seçkin yavuz

    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?

    1. yasirkula Avatar

      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ı.

      1. Haktan Avatar
        Haktan

        Allah razı olsun hocam. 3 gündür site site dolaştım sonun da bu yorumu fark ettim ve denedim oldu.Projemin içerisindeki Libray kalsörü içerisinde ne kadar cache yazan kalsörler varsa içini sildim ve pc yi yeniden başlattım oldu. Ben de kod denerken ve unity 2019 sürümüne geçiş yapınca hata vermişti.Mono da sıkıntı yoktu 64 bit olan ilcpp de sorun vardı ama düzeldi. Hocam android 4.1, 5.0 sürümler de çalışan bir uygulama yaparsak bu API ‘leri yüklemek gerekiyor mu yoksa en iyisini yüklemek yeterli mi?

      2. yasirkula Avatar

        En iyisini yüklemeniz yeterli. En azından ben öyle biliyorum ve öyle yapıyorum.

  22. Levent Avatar
    Levent

    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 .

    1. yasirkula Avatar

      İ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).

  23. Gencer Avatar
    Gencer

    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.

    1. yasirkula Avatar

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

      1. Gencer Avatar
        Gencer

        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.

    2. Mehmet Avatar

      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

      1. enes ecioğlu Avatar
        enes ecioğlu

        CommandInvokationFailure: Unable to list target platforms. Please make sure the android sdk path is correct. See the Console for more details.
        C:/Users/ev190/AppData/Local/Android/Sdk\tools\bin\avdmanager.bat list target -c

        stderr[

        ]
        stdout[

        ERROR: JAVA_HOME is not set and no ‘java’ command could be found in your PATH.

        Please set the JAVA_HOME variable in your environment to match the
        location of your Java installation.
        ]
        exit code: 1
        UnityEditor.Android.Command.Run (System.Diagnostics.ProcessStartInfo psi, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg)
        UnityEditor.Android.AndroidSDKTools.RunAndroidSdkTool (System.String toolName, System.String arguments, Boolean updateCommand, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg)
        UnityEditor.Android.AndroidSDKTools.ListTargetPlatforms (UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit)
        UnityEditor.Android.AndroidSDKTools.GetTopAndroidPlatformAvailable (UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit)
        UnityEditor.Android.PostProcessor.Tasks.CheckAndroidSdk+SDKPlatformDetector.GetVersion (UnityEditor.Android.AndroidSDKTools sdkTools)
        UnityEditor.Android.PostProcessor.Tasks.CheckAndroidSdk+SDKComponentDetector.Detect (UnityEditor.Android.AndroidSDKTools sdkTools, System.Version minVersion, UnityEditor.Android.PostProcessor.ProgressHandler onProgress)
        UnityEditor.Android.PostProcessor.Tasks.CheckAndroidSdk.EnsureSDKComponentVersion (System.Version minVersion, UnityEditor.Android.PostProcessor.Tasks.SDKComponentDetector detector)
        UnityEditor.Android.PostProcessor.Tasks.CheckAndroidSdk.EnsureSDKComponentVersion (Int32 minVersion, UnityEditor.Android.PostProcessor.Tasks.SDKComponentDetector detector)
        UnityEditor.Android.PostProcessor.Tasks.CheckAndroidSdk.Execute (UnityEditor.Android.PostProcessor.PostProcessorContext context)
        UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context)
        UnityEditor.HostView:OnGUI()

      2. yasirkula Avatar

        Dersteki JAVA_HOME adımını takip edebilirsiniz.