sdkmanager

sdkmanager, Android SDK'nın paketlerini 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 Command-Line Tools paketinde sağlanır. Komut satırı araçlarının bir sürümünü yüklemek için SDK Yöneticisi'ni kullanmak üzere aşağıdaki adımları uygulayın:

  1. Android Studio sayfasından en son komut satırı araçları paketini indirip paketi çıkarın.
  2. Açılan cmdline-tools dizinini, android_sdk gibi istediğiniz yeni bir dizine taşıyın. Bu yeni dizin, Android SDK dizininizdir.
  3. Açılan cmdline-tools dizininde latest adlı bir alt dizin oluşturun.
  4. cmdline-tools dizinini, lib dizinini, bin dizinini, NOTICE.txt dosyasını ve source.properties dosyasını içeren orijinal cmdline-tools dizin içeriğini yeni oluşturulan latest dizinine taşıyın. Artık bu konumdaki 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 yerine yüklemek istediğiniz sürümü girin, ö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 seçeneğini kullanarak channel_id dahil olmak üzere bir kanaldaki paketi ekleyin. Örneğin, tüm kanallardaki paketleri listelemek için kanarya 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;35.0.0" veya "platforms;android-33".

Boşlukla ayrılmış birden fazla paket yolu iletebilirsiniz ancak her biri kendi tırnak grubu içinde yer almalıdır. Örneğin, en yeni platform araçlarını ve API düzeyi 33 için SDK araçlarını yükleme adımları aşağıda verilmiştir:

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

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

sdkmanager --package_file=package_file [options]

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

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, şu anda hangi kanalda olduğuna bakılmaksızın belirtilen NDK sürümü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

Yüklü tüm paketleri güncelleme

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

sdkmanager --update [options]

Lisansları kabul etme

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

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

sdkmanager --licenses

Bu işlem, henüz kabul edilmemiş lisansları kabul etmenizi ister.

Seçenekler

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

Option Açıklama
--sdk_root=path Bu aracı içeren SDK yerine belirtilen SDK yolunu kullanın.
--channel=channel_id channel_id dahil olmak üzere kanallara paket ekleyin. Kullanılabilir kanallar:

0 (Mevcut Ürün), 1 (Beta), 2 (Yeni Geliştirilenler) ve 3 (Canary).

--include_obsolete Paket listesine veya paket güncellemelerine eski paketleri dahil etme. Yalnızca --list ve --update ile birlikte kullanılabilir.
--no_https Tüm bağlantıların HTTPS yerine HTTP kullanmasını zorunlu kılın.
--newer --list ile yalnızca yeni veya güncellenebilir paketleri gösterin.
--verbose Ayrıntılı çıkış modu. Hatalar, uyarılar ve bilgilendirme mesajları 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 ya da SOCKS (V4 veya V5) proxy 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ı.