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, istediğiniz yeni bir dizine (ör. android_sdk) 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 dizinindeki lib dizini, bin dizini, NOTICE.txt dosyası ve source.properties dosyası dahil olmak üzere tüm içerikleri 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 komutunu 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 kanaldan paket 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, --list komutuyla gösterildiği gibi tırnak içine alınmış bir SDK tarzı yoldur. Örneğin, "build-tools;35.0.0" veya "platforms;android-33".

Boşlukla ayrılmış birden fazla paket yolu iletebilirsiniz ancak her birinin kendi tırnak grubu içinde olması gerekir. Ö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ı 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 Android Studio, GUI yüklü olmayan bir CI sunucusu ya da 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 paketleri dahil edin. Kullanılabilir kanallar şunlardır:

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