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

    • yasirkula dedi ki:

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

  2. Altay Olcay dedi ki:

    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.

    • yasirkula dedi ki:

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

      • Altay Olcay dedi ki:

        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.

      • yasirkula dedi ki:

        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.

      • Altay Olcay dedi ki:

        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.

      • yasirkula dedi ki:

        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 dedi ki:

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

  4. Mustafa dedi ki:

    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

    • Mustafa dedi ki:

      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

  5. Efe dedi ki:

    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,

  6. yunus toprakcı dedi ki:

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

    • yasirkula dedi ki:

      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 dedi ki:

    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.

    • yasirkula dedi ki:

      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/

      • muhammed kosek dedi ki:

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

      • yasirkula dedi ki:

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

      • muhammed kosek dedi ki:

        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

      • yasirkula dedi ki:

        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.

      • muhammed kosek dedi ki:

        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
        🙂

      • yasirkula dedi ki:

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

    • suat dedi ki:

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

  8. Barış dedi ki:

    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.

    • yasirkula dedi ki:

      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.

  9. Erdinç dedi ki:

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

  10. enes ecioğlu dedi ki:

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

    • yasirkula dedi ki:

      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 dedi ki:

    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.

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

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

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

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

  16. Emre dedi ki:

    Android sdk’larinin boyutu ortalama kac gb?

  17. 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”

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

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

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

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

      • Haktan dedi ki:

        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?

      • yasirkula dedi ki:

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

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

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

      • enes ecioğlu dedi ki:

        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()

      • yasirkula dedi ki:

        Dersteki JAVA_HOME adımını takip edebilirsiniz.

Cevap Yazın

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.