Android SDK Derleme Araçlarını komut satırına nasıl yükleyebilirim?


292

Android dev ortamını komut satırından ayarlamak ve aşağıdaki sorunla karşılaşmak istiyorum:

wget http://dl.google.com/android/android-sdk_r22.0.5-linux.tgz

dosyayı açtıktan sonra çalıştırın

tools/android update sdk --no-ui

Ancak, koşarken çok yavaş

Fetching https://dl-ssl.google.com/android/repository/addons_list-2.xml

Sonuç olarak klasör oluşturma araçlarında hiçbir şey yoktur ve karınca olmadan komut satırından apk oluşturmak istediğim için aapt ve apkbuilder.

Yanıtlar:


479

Varsayılan olarak, komut satırından SDK Yöneticisi listede oluşturma araçlarını içermez. "Eskimiş" kategorisindeler. Mevcut tüm indirmeleri görmek için şunu kullanın:

android list sdk --all

Ardından, bu listedeki paketlerden birini komut satırından almak için şunu kullanın:

android update sdk -u -a -t <package no.>

-U --no-ui, -a --all anlamına gelir ve -t --filter anlamına gelir.

Birden fazla paket kurmanız gerekiyorsa şunları yapın:

android güncelleme sdk -u -a -t 1,2,3,4, .., n 

Burada 1,2, .., n yukarıdaki list komutuyla listelenen paket numarasıdır


4
18.1.1 gibi oluşturma araçlarını kaçırıyorsanız, komut satırını kullanarak bu aracı yüklemenin doğru yolu budur.
Cray

19
biraz berbat, resmi ipuçlarında--all seçenek bahsetmediler . Teşekkür ederim.
Alexander Malakhov

4
@DanielJonker Evet, öyle. Sadece komuta "evet" yankı, yani yankı evet | android güncelleme sdk - tüm --filtre araçları --no-ui --force> / dev / null
nsg

4
echo "yes"kısaltılabilir echo "y", ancak bu zaten her durumda çalışmaz. Bazı durumlarda, filtreye ve belirli paketlere bağlı olarak birden fazla y / n lisans istemi alabilirsiniz. echo "y"yalnızca ilk isteme yanıt verir, ancak geri kalanı değil. Ben yesşimdiye kadar hiçbir başarı ile komut ile çalışması için çalışıyorum .
i4niac

3
@AlexanderMalakhov Kabul ediyorum, eğer ana işletim sisteminiz bu yardımcı programa sahipse, bunu kullanmak en iyi seçenektir. Önce beklemeye baktım, ama benim durumumda senaryoyu AWS bulutunda çalışan belirli bir Linux dağıtımında çalıştırmam gerekiyor. Bu dağıtımın yüklü olması beklenmiyor ve yapı planının bir parçası olarak yüklemek için yeterli hakkım yok. Etrafa baktıktan sonra bulduğum en iyi çözüm, başsız sunucuda Android SDK'yı güncelle <pre> <code> # güncelleme FİLTRE = araç, platform, android-20 (uyku 5 && while [1]; uyku 1; echo y; bitti ) \ | android güncellemesi sdk --no-ui --all \ --filter $ {FILTER} </code> </pre>
i4niac

140

Diğer yanıtlarda belirtildiği gibi --filter, yüklü paketleri sınırlama seçeneğini kullanabilirsiniz :

android update sdk --filter ...

Diğer yanıtlar, filtre seçenekleri için dizinler (değişecek) yerine sabit dize tanımlayıcıları kullanabileceğinizden bahsetmez. Bu katılımsız veya komut dosyası yüklemeleri için yararlıdır. --filterSeçenek için adam :

... Bu ayrıca 'list sdk --extended' tarafından döndürülen tanımlayıcıları da kabul eder.

android list sdk --all --extended :

Packages available for installation or update: 97
----------
id: 1 or "tools"
     Type: Tool
     Desc: Android SDK Tools, revision 22.6.2
----------
id: 2 or "platform-tools"
     Type: PlatformTool
     Desc: Android SDK Platform-tools, revision 19.0.1
----------
id: 3 or "build-tools-19.0.3"
     Type: BuildTool
     Desc: Android SDK Build-tools, revision 19.0.3

Ardından, istediğiniz sürümleri tam olarak belirtmek için dize kimliklerini filtre seçenekleri olarak kullanabilirsiniz:

android update sdk --filter tools,platform-tools,build-tools-19.0.3 vb


27
+1 için --extendedCI komut dosyalarına ne yükleneceğini açıkça belirten seçenek.
nhaarman

16
android update--allseçeneği de gerektirecektir , aksi takdirde kullanım yardımı görüntülenir. Örneğin: android update sdk --no-ui --all --filter build-tools-21.1.0(ve --extendeddiğer adları görmenizi sağlayan seçenek için +1 build-tools-21.1.0)
Petrus Repo

1
Adam --filterve --extendedseçenekleri nerede ?
Ciro Santilli 法轮功 冠状 病 六四 事件 法轮功

2
Sabit olmayan sayı yerine dize kullanmak çok daha iyi olduğunu kabul ediyorum.
wisbucky

1
Ben --extendedbir komut dosyası yazmak ve sdk kaynakları kendini yenilemek nerede Sürekli Entegrasyon Sunucusunda kullanmak bu seçeneği arıyordu . Güzel ipucu!
osayilgan

73

Paketin 25.2.3 sürümü (ve üstü) , komut satırından derleme araçlarını yükleme görevini basitleştiren Android SDK Toolsyeni araç - sdkmanager - içerir.
Bu yer almaktadır android_sdk/tools/binklasörde.

Kullanım ( belgelerden ):

sdkmanager packages [options]

Bağımsız packagesdeğişken, tırnak işaretleri içine alınmış (örneğin "build-tools;25.0.0"veya "platforms;android-25") SDK stili bir yoldur . Bir boşlukla ayrılmış birden fazla paket yolu geçirebilirsiniz, ancak bunların her birinin kendi tırnak kümesine sarılması gerekir.

Örnek kullanım (Mac bilgisayarımda):

alex@mbpro:~/sdk/tools/bin$ ls ../../build-tools/  
25.0.0/   
alex@mbpro:~/sdk/tools/bin$ ./sdkmanager "build-tools;25.0.2"  
done   
alex@mbpro:~/sdk/tools/bin$ ls ../../build-tools/  
25.0.0/ 25.0.2/

Ayrıca çeşitli seçenekler de belirleyebilirsiniz , tüm bağlantıları HTTP ( --no_https) kullanmaya zorlamak veya proxy sunucusu ( --proxy_host=addressve --proxy_port=port) kullanmak için .

Kullanılabilir seçenekleri kontrol etmek için --helpbayrağı kullanın . Makinemde (Mac) çıktı şu şekildedir:

alex@mbpro:~/sdk/tools/bin$ ./sdkmanager --help
Usage: 
  sdkmanager [--uninstall] [<common args>] \
    [--package_file <package-file>] [<packages>...]
  sdkmanager --update [<common args>]
  sdkmanager --list [<common args>]

In its first form, installs, or uninstalls, or updates packages.
    <package> is a sdk-style path (e.g. "build-tools;23.0.0" or 
             "platforms;android-23").
    <package-file> is a text file where each line is a sdk-style path
                   of a package to install or uninstall.
    Multiple --package_file arguments may be specified in combination
     with explicit paths.
In its second form (with --update), currently installed packages are
    updated to the latest version.
In its third form, all installed and available packages are printed out.

Common Arguments:
    --sdk_root=<sdkRootPath>: Use the specified SDK root instead of the SDK containing this tool
    --channel=<channelId>: Include packages in channels up to <channelId>.
                           Common channels are:
                           0 (Stable), 1 (Beta), 2 (Dev), and 3 (Canary).

    --include_obsolete: With --list, show obsolete packages in the
                        package listing. With --update, update obsolete
                        packages as well as non-obsolete.
    --no_https: Force all connections to use http rather than https.
    --proxy=<http | socks>: Connect via a proxy of the given type.
    --proxy_host=<IP or DNS address>: IP or DNS address of the proxy to use.
    --proxy_port=<port #>: Proxy port to connect to.

* If the env var REPO_OS_OVERRIDE is set to "windows",
  "macosx", or "linux", packages will be downloaded for that OS.

1
Başkası var Warning: Unknown argument --package_filemı?
ulidtko

3
@ulidtko Kullanım belgelerinde bir hata var. Doğru yol, eşittir işaretini eklemektir, örn --package_file=packages.txt.
Alex Lipov

Ne yazık ki yükleme görevini basitleştirmiyor. Tüm Android programcıları programlamalarını GUI olmadan linux üzerinde yapmazlar. Bazılarımız bunu Windows'ta yapıyor ve diğer tüm Windows Uygulamaları gibi çalışan bir kullanıcı arayüzünü tercih ediyoruz. Bu, ileri yerine geri hareket ediyor
AaA

2
@AaA Komut satırından yükleme görevini basitleştirir . OP, bir komut satırı çözümü aradığını açıkça belirtti ve bu nedenle yorumunuz bu bağlamda alakasız.
Alex Lipov

55

ADB Build-Tools Android Güncelleme SDK'sı ile Otomatik Olarak İndirilmez - no-ui

Buil-Tool tipini kurmak için (konsolda):

android list sdk --all

Öğeden önce listelenen numarayı hatırlayın ve aşağıdakileri yürütün:

android update sdk -u --all --filter <number>

komutlar / YourFolder / android-sdk-linux / tools yazılmalıdır.

Ayrıca uzak klasör için (örneğin ssh tarafından açılan sunucu) şunu yazın:

**./android** list sdk --all
**./android** update sdk -u --all --filter <number>

Terminaldeki ADB paketlerinin basit listesi için:

android list sdk

tüm paketleri kurmak için:

android update sdk --no-ui

Veya filtrelerle (virgül ayırıcıdır):

android update sdk --no-ui --filter 3,5,8,14

kullanımdan kaldırılmış eski SDK'lar için --all komutunu kullanmalısınız. örneğin android güncellemesi sdk - no-ui --all --filter 27 platform-8 yüklemek için
fluke

SDK yükleyicisi GUI'yi kullanırken çökmeye devam ettiğinden, komut satırına geçmek zorunda kaldım, bu yüzden bu gerçekten yardımcı oldu. Teşekkürler.
Yvonne Aburrow

32

Android SDK'nın komut satırından her şeyi yüklemeye çalışırken karşılaştığım harika bir bilgi kaynağı, bu Dockerfile idi. Dockerfile İçerisinde yazar kurmak için tek bir komutu yürütür olduğunu görebilirsiniz platform toolsve build toolsdiğer herhangi bir etkileşim olmadan. OP'nin ortaya koyduğu durumda, komut aşağıdakilere uyarlanır:

echo y | $ANDROID_HOME/tools/android update sdk --all --filter build-tools-21.1.0 --no-ui

Tüm paketleri istemezsem ne olur ? Sadece 21.1.0'ı istiyorum .
IgorGanapolsky

@IgorGanapolsky Belki olmadan denemelisiniz --allbayrağı
geoand

21

Ben sadece komut satırı üzerinden yüklü android sdk bağımlılıkları almak bir heck vardı ve araçlar ve çevrimiçi ile gelen belgeler vahşice eksik olduğundan, ben burada ne keşfettiğini düşündüm.

Ben çalışıyorum android sdk r24.4.1için linux. Kullanılabilir paketleri listelemek için çalıştırabileceğiniz iki komut vardır:

android list sdk

ve daha kapsamlı:

android list sdk --all

Belirli paketler için paket numaraları yukarıdaki her komut için farklıdır! Örneğin, ilk paket paketi API 23.1 revision 3olarak listeler #3ve ikincisi paketi olarak listeler#29 .

Şimdi, android komutunu kullanarak yüklemenin iki farklı yolu var.

tools/android update sdk --no-ui --filter <package number>

ve

tools/android update sdk -u -a -t <package number>

İnstall komutlarının her birinin paketi # parametresini alabileceği göz önüne alındığında, hangi paket numarasını kullanıyorsunuz? Çok fazla çevrimiçi arama ve deneme yanılma işleminden sonra,

android update sdk --no-ui --filter paket numaralarını kullanır android list sdk

ve

android update sdk -u -a -t paket numaralarını kullanır android list sdk --all

Başka bir deyişle - yüklemek API 23.1 revision 3için aşağıdakilerden birini yapabilirsiniz:

android update sdk --no-ui --filter 3

veya

android update sdk -u -a -t 29

Deli, ama işe yarıyor.


1
-akısa versiyonu --all, bu yüzden bu paket numarasını kullanıyor. ( -ukısa --no-uive -tkısa --filter.)
darthmaim

Ips'in söylediklerine inanıyorum. Google'ın usage()metnini gerçeğe uygun olarak güncel tutmadığı bilinmektedir .
not2qubit

ubuntu üzerinde ben koştu: $ echo y | $ ANDROID_HOME / araçlar / android güncelleme sdk -u -a -t 27 Şimdi nasıl Android 8'e güncellendiğini onaylamak için?
Ashish Karpe

$ ANDROID_HOME / araçlar / android liste hedefi | grep "Android tabanlı" Android 4.0.3 (API düzey 15) temel alınmıştır Android 4.1.2 (API düzey 16) temel alınmıştır Android 4.2.2 (API düzey 17) temel alınmıştır Android 4.3.1 (API düzey 18) Android 4.4.2 (API seviye 19) temel alınmıştır Android 4.4.2 (API seviye 19) temel alınmıştır Android 5.0.1 (API seviye 21) temel alınmıştır Android 5.1.1 (API seviye 22) temel alınmıştır Android 6.0 (API) seviye 23) Android 7.0 tabanlı (API seviye 24)
Ashish Karpe

Koştuğum için neden: $ ANDROID_HOME / tools / android list sdk Yükleme veya güncelleme için mevcut paketler: 1 1- SDK Platformu Android 8.1.0, API 27, revizyon 1
Ashish Karpe

20

Yanıtların çoğu, güncellemeyi süper kullanıcı hakları olmayan başsız bir ortamda çalıştırmanız gerekebileceği gerçeğini görmezden geliyor gibi görünüyor, yani komut dosyasının tüm y/n lisans istemlerini otomatik olarak .

İşte hile yapan örnek.

FILTER=tool,platform,android-20,build-tools-20.0.0,android-19,android-19.0.1

( sleep 5 && while [ 1 ]; do sleep 1; echo y; done ) \
    | android update sdk --no-ui --all \
    --filter ${FILTER}

Ne kadar bilgi alırsanız alın, bunların tümü yanıtlanacaktır. Bu while/sleepdöngü, evet komutunun simülasyonuna benziyor ve aslında neredeyse . Sorun yesstdout sel 'y've neredeyse bu karakterleri gönderme ile uğraşmak zorunda kaldım ve başa çıkmak zorunda sürüm herhangi bir zaman aşımı seçeneği yoktu. Stdout "kirletir" ve komut dosyası yanlış girdi hakkında şikayet başarısız olur. Çözüm, 'y'stdout'a gönderme arasında bir gecikme yapmaktır ve while/sleepcombo tam olarak bunu yapar.

expect bazı linux dağıtımlarında varsayılan olarak mevcut değildir ve CI komut dosyalarının bir parçası olarak yüklemem mümkün değildi, bu yüzden en genel çözümü kullanmak zorunda kaldım ve hiçbir şey basit bash komut dosyasından daha genel olamaz, değil mi?

Aslında, bu konuda blog yazdım ( NSBogan ), ilgileniyorsanız burada daha fazla bilgi için göz atın .


--all tüm olası SDK'ları yükleyecektir. Belirli bir filtreyle sınırlamak istiyorsanız ideal değildir.
IgorGanapolsky

17

Eğer varsa sdkmanager yüklü (I MAC kullanıyorum)

Çalıştırmak sdkmanager --listkullanılabilir paketleri listelemek için .

Derleme araçlarını yüklemek istiyorsanız, tercih edilen sürümü mevcut paketler listesinden kopyalayın.

Tercih edilen sürümü yüklemek için

sdkmanager "build-tools;27.0.3"

1
Teşekkürler. İşe yarıyor! "Android" komutu şimdi Android-sdk'nin en son sürümüyle kullanımdan kaldırıldı, / tools / bin dizininden
./sdkmanager kullanmalıyız

8

Ancak, koşarken çok yavaş

Evet, aynı problemi yaşadım. Dosya indirmelerinden bazıları son derece yavaş (veya en azından son birkaç gündür). Eğer her şeyi indirmek istiyorsanız, bu konuda yapabileceğiniz pek bir şey yok.

Sonuç olarak klasör oluşturma araçlarında hiçbir şey yoktur ve karınca olmadan komut satırından apk oluşturmak istediğim için aapt ve apkbuilder.

Tamamlanmasına izin verdin mi?

Yapabileceğiniz bir şey, indirilen paketleri -t anahtarı .

Örneğin:

tools/android update sdk --no-ui -t platform-tool

Geçen gün bunu denediğimde, kurulum araçlarının 18.0.0 sürümünü aldım. Bazı nedenlerden dolayı, en son sürüm 18.0.1 bu filtreye dahil edilmemiştir ve bunu almanın tek yolu --allanahtarla her şeyi yüklemekti .


2
Kullanılabilir filtreleri almak için bunu çalıştırın: "android update sdk -h" ... Güncellemeyi virgülle ayrılmış [platform, sistem-görüntü, araç, platform listesi şeklinde belirtilen paket türleriyle sınırlayan bir filtre -Araç, doc, örnek, kaynak]. Bu, 'list sdk --extended' tarafından döndürülen tanımlayıcıları da kabul eder.
aleb

6

Bağımlılıklarımı yükleyen bir komut dosyası koymayı tercih ederim

Gibi bir şey:

#!/usr/bin/env bash
#
# Install JUST the required dependencies for the project.
# May be used for ci or other team members.
#

for I in android-25 \
         build-tools-25.0.2  \
         tool \
         extra-android-m2repository \
         extra-android-support \
         extra-google-google_play_services \
         extra-google-m2repository;

 do echo y | android update sdk --no-ui --all --filter $I ; done

https://github.com/caipivara/android-scripts/blob/master/install-android-dependencies.sh


Teşekkürler, bana çok zaman kazandırmak için yardım et.
utzcoz

4

Ben sadece bu sorunu vardı, bu yüzden aviable araçlar listesini okuyup ayrıştırarak 1 satır bash kirli bir çözüm yazdım:

 tools/android update sdk -u -t $(android list sdk | grep 'Android SDK Build-tools' | sed 's/ *\([0-9]\+\)\-.*/\1/')

Projemi hizmet oynamak için değiştirdim, sadece araç üretmekten çok daha fazlasının lisansını istedi, bu yüzden bu çözüm çok sınırlı.
nurettin

Sürümler geliştikçe zaman içinde değişebilen dizinlerden çok daha belirleyici hissediyor ...
Augustin Riedinger

4

@ İ4niac & @ Aurélien Lambert'in cevaplarından esinlenerek bu

csv_update_numbers=$(./android list sdk --all | grep 'Android SDK Build-tools' | grep -v 'Obsolete' | sed 's/\(.*\)\- A.*/\1/'|sed '/^$/d'|sed -e 's/^[ \t]*//'| tr '\n' ',')
csv_update_numbers_without_trailing_comma=${csv_update_numbers%?}

( sleep 5 && while [ 1 ]; do sleep 1; echo y; done ) \
    | ./android update sdk --all -u -t $csv_update_numbers_without_trailing_comma

açıklama

  • android list sdk --allKomutun sonunda yapı araçları paketlerinin dizinleri olan virgülle ayrılmış sayıların listesini alın (Eski paketleri yoksayma).
  • lisansları kabul etmek için terminallere birkaç milisaniyede bir atmaya devam edin.

4

Android SDK'yı developer.android.com adresinden indirin (şu anda Windows işletim sistemi için 149mb dosyasıdır). Android'in sdkmanager GUI'sini kaldırdığını, ancak araçlar klasöründe bulunan bin klasöründe sdkmanager'in komut satırı sürümüne sahip olduğunu unutmayın.

  1. Bin klasörünün içindeyken, shift tuşunu basılı tutun, sağ tıklayın ve ardından burada açık komut satırını seçin. Shift + sağ tıklatma >> burada komut satırını açın.
  2. Komut satırı açıldığında sdkmanagerclick enter yazın.
  3. Sonra type sdkmanager(space), double hyphen ( --), type list komutunu çalıştırın sdkmanager --list (bu, SDK yöneticisindeki tüm paketleri listeler)
  4. Sdkmanager (boşluk) yazın ve paket adını girin, enter tuşuna basın. Örneğin. sdkmanager platform araçları (enter tuşuna basın) Lisans sözleşmesini yükleyecektir. Seçeneklerle (y / n). Kabul etmek için y girin, belirttiğiniz paketi indirir.

Daha fazla referans için buradaki resmi belgeyi izleyin

Umarım bu yardımcı olur. :)


4

"Android" komutu kullanımdan kaldırıldı.

Komut satırı araçları için tools / bin / sdkmanager ve tools / bin / avdmanager kullanın

Android Studio'ya ihtiyacınız yoksa, temel komut satırı araçlarını developer.android.com adresinden yalnızca Komut satırı araçları bölümünden indirebilirsiniz .

CLI'den şöyle bir şey olmalı:

curl --output sdk-tools-linux.zip https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip

veya

wget --output-document sdk-tools-linux.zip https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip

Bundan sonra arşivi hedef klasöre açın

unzip sdk-tools-linux.zip

Ve şimdi ihtiyacınız olan her şeyi kurabiliriz ...

./tools/bin/sdkmanager --install 'build-tools;29.0.2' 'platform-tools' 'platforms;android-29' 'tools'

Komutunu kullanarak paketlerin tam listesini alabilirsiniz ./tools/bin/sdkmanager --list

Bazı paketler lisans sözleşmesinin kabul edilmesini gerektirir. etkileşimli olarak kabul edebilir veya giriş akışına aşağıdaki gibi "y" iletebilirsiniz (bu durumda iki anlaşma):

echo -ne "y\ny" | ./tools/bin/sdkmanager --install 'system-images;android-29;default;x86_64'

Ve elbette, size kolaylık sağlamak için, ANDROID_HOME veya ANDROID_SDK_ROOT gibi değişkenleri dışa aktarabilirsiniz (~ / .profile veya ~ / .bash_profile içinde yapmak da dahil) veya PATH değişkenini yamalayabilirsiniz - tüm bunlar sizin takdirinize bağlıdır.

Senaryo örneği:

mkdir /opt/android-sdk
cd /opt/android-sdk
curl --output sdk-tools-linux.zip https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip
unzip sdk-tools-linux.zip
echo -ne "y" | ./tools/bin/sdkmanager --install 'build-tools;29.0.2' 'platform-tools' 'platforms;android-29' 'tools'

Gereksinimler: curl (or wget) and unzip

Sorun giderme:

görürseniz Warning: Could not create settings, sen olması gerekir toolsiçeride dizini cmdline-toolsANDROID_HOME (bu isimde gerekirse oluşturun) içindeki dizine bakınız Android Komut satırı araçları hep gösterileri sdkmanager: Uyarı: Ayarları oluşturulamadı


2

Oluşturma araçları, Nate'in https://stackoverflow.com/a/19416222/1104031 adresinde söylediği gibi varsayılan olarak otomatik olarak indirilemedi. .

Ama senin için her şeyi yapan küçük bir araç yazdım

Ben de danb olarak aracı "beklemek" kullanılmış https://stackoverflow.com/a/17863931/1104031 yazı. Yalnızca android-sdk ihtiyaç ve python27, expect.

Bu komut dosyası, tüm derleme araçlarını, tüm SDD'leri ve otomatik derleme için ihtiyacınız olan her şeyi yükler:

import subprocess,re,sys

w = subprocess.check_output(["android", "list", "sdk", "--all"])
lines = w.split("\n")
tools = filter(lambda x: "Build-tools" in x, lines)
filters = []
for tool in tools:
  m = re.search("^\s+([0-9]+)-", tool)
  tool_no = m.group(1)
  filters.append(tool_no)

if len(filters) == 0:
  raise Exception("Not found build tools")


filters.extend(['extra', 'platform', 'platform-tool', 'tool'])

filter = ",".join(filters)

expect= '''set timeout -1;
spawn android update sdk --no-ui --all --filter %s;
expect {
  "Do you accept the license" { exp_send "y\\r" ; exp_continue }
  eof
}''' % (filter)

print expect

ret = subprocess.call(["expect", "-c", expect])
sys.exit(ret)

Nasıl echo "yes" | ./android update sdk --no-https --no-ui --filter 1,6?
şemalar

1
Yanılıyorsam düzelt ama bu komut dosyası her çalıştırıldığında yeniden indiriyor gibi görünüyor.
-U

1

Diğer yanıtlarda belirtildiği gibi, oluşturma araçları --allbayrağın yüklenmesini gerektirir . Ayrıca -tTÜM paketleri yüklemekten kaçınmak için filtre bayrağı kullanmanız daha iyi olur , ancak tüm oluşturma araçlarını filtrelemenin bir yolu yoktur.

AOSP hata izleyicide bu iki nokta için zaten özellik istekleri var. Onlar için oy kullanmaktan çekinmeyin, bu bir gün gerçekleşmelerini sağlayabilir:


1

Hepsini güncellemek için bunu denedim ve işe yaradı!

echo y | $ANDROID_HOME/tools/android update sdk --no-ui

0

Deneyin

1. Tüm paketleri listeleyin

android list sdk --all

2. Aşağıdaki komutu kullanarak paketleri kurun

android update sdk -u -a -t package1, package2, package3 //comma seperated packages obtained using list command 

-1

android güncelleme sdk

Bu komut, SDK Araçları, Derleme Araçları, SDK platform araçları için en son sürümlerin tümünü güncelleyecek ve yükleyecektir.

Benim için İş.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.