sdkmanager

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

  1. Android Studio indirmeleri sayfasından en yeni "yalnızca komut satırı araçları" paketini indirin ve paketi açın.
  2. Sıkıştırılmış cmdline-tools dizinini, android_sdk gibi seçtiğiniz yeni bir dizine taşıyın. Bu yeni dizin, Android SDK dizininizdir.
  3. Sıkıştırılmış cmdline-tools dizininde latest adlı bir alt dizin oluşturun.
  4. lib dizini, bin dizini, NOTICE.txt dosyası ve source.properties dosyası da dahil olmak üzere orijinal cmdline-tools dizini içeriğini yeni oluşturulan latest dizine 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ü (ör. 5.0) girin.

Kullanım

Yüklü ve kullanılabilir paketleri listelemek, paket 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 dahil olmak üzere bir kanaldan paket eklemek için channel seçeneğini kullanın. Ö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 komutunda gösterildiği gibi tırnak içine alınmış bir SDK stili yoldur. Örneğin, "build-tools;34.0.0" veya "platforms;android-33".

Birden fazla paket yolunu boşlukla ayırarak iletebilirsiniz ancak her paket yolu kendi tırnak içine alınmalıdır. Örneğin, en yeni platform araçlarının ve API düzeyi 33 için SDK araçlarının nasıl yükleneceği aşağıda açıklanmıştır:

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 stilinde yolu olduğu (tırnak işaretleri 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'yi 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ü şu anda hangi kanalda olduğu fark etmeksizin 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üklenen 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 kurulum akışı sırasında gerçekleşir.

Android Studio yüklü değilse veya 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, daha önce kabul edilmemiş lisansları kabul etmenizi ister.

Seçenekler

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

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

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

--include_obsolete Paket listelemesine veya paket güncellemelerine eski paketleri ekleme. Yalnızca --list ve --update ile kullanılabilir.
--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 bilgilendirme mesajları yazdırılır.
--proxy={http | socks} Belirtilen türde bir proxy üzerinden bağlanın: HTTP veya FTP gibi üst düzey protokoller için http, 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ı.