sdkmanager

sdkmanager, Android SDK'ya yönelik paketleri görüntülemenize, yüklemenize, güncellemenize ve kaldırmanıza olanak tanıyan bir komut satırı aracıdır. Android Studio kullanıyorsanız bu aracı kullanmanız gerekmez. Bunun yerine, SDK paketlerinizi IDE'den yönetebilirsiniz.

sdkmanager aracı, Android SDK Komut Satırı Araçları paketinde sunulur. SDK Yöneticisi'ni kullanarak komut satırı araçlarının bir sürümünü yüklemek için aşağıdaki adımları uygulayın:

  1. Android Studio indirilenler sayfasından "yalnızca komut satırı araçları" son paketini indirin ve paketin sıkıştırmasını açın.
  2. Çıkarılan cmdline-tools dizinini istediğiniz yeni bir dizine (ör. android_sdk) taşıyın. Bu yeni dizin, Android SDK dizininizdir.
  3. Sıkıştırılmış cmdline-tools dizininde latest adında bir alt dizin oluşturun.
  4. lib dizini, bin dizini, NOTICE.txt dosyası ve source.properties dosyası dahil olmak üzere orijinal cmdline-tools dizin içeriğini yeni oluşturulan latest dizinine taşıyın. Artık bu konumdan komut satırı araçlarını kullanabilirsiniz.
  5. (İsteğe bağlı) Komut satırı araçlarının önceki bir sürümünü yüklemek için aşağıdaki komutu çalıştırın:

    android_sdk/cmdline-tools/latest/bin/sdkmanager --install "cmdline-tools;version"
    
    version kısmını yüklemek istediğiniz sürümle değiştirin (örneğin, 5.0).

Kullanım

Yüklü ve kullanılabilir paketleri listelemek, paketleri yüklemek ve paketleri güncellemek için sdkmanager kullanabilirsiniz. Daha fazla bilgi için aşağıdaki bölümlere bakın.

Yüklü ve kullanılabilir paketleri listeleme

Yüklü ve kullanılabilir paketleri listelemek için aşağıdaki söz dizimini kullanın:

sdkmanager --list [options] \
           [--channel=channel_id] // Channels: 0 (stable), 1 (beta), 2 (dev), or 3 (canary)

channel_id tarihine kadar olan bir kanaldan paket eklemek için channel seçeneğini kullanın. Örneğin, tüm kanallardaki paketleri listelemek için canary kanalını belirtin.

Paketleri yükleme

Paketleri yüklemek için aşağıdaki söz dizimini kullanın:

sdkmanager packages [options]

packages bağımsız değişkeni, tırnak içine alınmış --list komutuyla gösterildiği gibi SDK tarzı bir yoldur. Örneğin, "build-tools;34.0.0" veya "platforms;android-33".

Birden fazla paket yolunu boşlukla ayırarak geçirebilirsiniz ancak bunların her birinin kendi tırnak işaretleri içine alınması gerekir. Örneğin, API düzeyi 33 için en yeni platform araçlarını ve SDK araçlarını nasıl yükleyeceğiniz aşağıda açıklanmıştır:

sdkmanager "platform-tools" "platforms;android-33"

Alternatif olarak, tüm paketleri belirten bir metin dosyası iletebilirsiniz:

sdkmanager --package_file=package_file [options]

package_file bağımsız değişkeni, her satırın yüklenecek paketin SDK stilinde bir yolu olduğu (tırnak işaretleri olmadan) bir metin dosyasının konumudur.

Yüklemeyi kaldırmak için --uninstall işaretini ekleyin:

sdkmanager --uninstall packages [options]
sdkmanager --uninstall --package_file=package_file [options]

CMake veya NDK'yı yüklemek için aşağıdaki söz dizimini kullanın:

sdkmanager --install
           ["ndk;major.minor.build[suffix]" | "cmake;major.minor.micro.build"]
           [--channel=channel_id] // NDK channels: 0 (stable), 1 (beta), or 3 (canary)

Örneğin, belirtilen NDK sürümünü hangi kanalda olduğuna bakılmaksızın yüklemek için aşağıdaki komutu kullanın:

sdkmanager --install "ndk;21.3.6528147" --channel=3 // Install the NDK from the canary channel (or below)
sdkmanager --install "cmake;10.24988404" // Install a specific version of CMake

Tüm yüklü paketleri güncelle

Tüm yüklü paketleri güncellemek için aşağıdaki söz dizimini kullanın:

sdkmanager --update [options]

Lisansları kabul et

Yüklediğiniz her paket için gerekli lisansı kabul etmeniz gerekir. Bu adım, Android Studio içinden paket yüklediğinizde yükleme akışı sırasında gerçekleşir.

Bilgisayarınızda Android Studio yüklü değilse veya CI sunucusu ya da GUI yüklü olmayan başka bir gözetimsiz Linux cihazı içinse komut satırından aşağıdakileri yapın:

sdkmanager --licenses

Bu işlemle, henüz kabul edilmemiş lisansları kabul etmeniz istenir.

Seçenekler

Aşağıdaki tabloda, önceki bölümde listelenen komutlar için kullanılabilen seçenekler listelenmiştir:

Seçenek Açıklama
--sdk_root=path Bu aracı içeren SDK yerine, belirtilen SDK yolunu kullanın.
--channel=channel_id En fazla channel_id değeri de dahil olmak üzere kanallara paketleri ekleyin. Mevcut kanallar şunlardır:

0 (Kararlı), 1 (Beta), 2 (Yeni Geliştirilenler) ve 3 (Canary).

--include_obsolete Paket listelemesine veya paket güncellemelerine eski paketleri ekleyin. Yalnızca --list ve --update ile kullanım içindir.
--no_https Tüm bağlantıları HTTPS yerine HTTP kullanmaya zorla.
--newer --list ile yalnızca yeni veya güncellenebilir paketleri gösterin.
--verbose Ayrıntılı çıkış modu. Hatalar, uyarılar ve bilgi amaçlı iletiler yazdırılır.
--proxy={http | socks} Belirtilen türdeki bir proxy üzerinden bağlanın: HTTP veya FTP gibi üst düzey protokoller için http veya SOCKS (V4 veya V5) proxy'si için socks.
--proxy_host={IP_address | DNS_address} Kullanılacak proxy'nin IP veya DNS adresi.
--proxy_port=port_number Bağlanılacak proxy bağlantı noktası numarası.