Android SDK oluşturma araçları, platform araçları ve araçları nelerdir? Ve hangi versiyon kullanılmalı?


331

Bunun çok basit bir soru olduğunu biliyorum, ama sürpriz olarak, Android SDK Oluşturma araçları hakkında herhangi bir belge bulamadım. Android SDK Araçları ve Android SDK Platform araçlarının yanı sıra, ekli ekran görüntüsünde gösterildiği gibi bir grup Android SDK Oluşturma aracı vardır. Herkes hepsini açıklayan bir kaynağa işaret edebilir ve Android SDK Derleme araçlarının belirli bir sürümünün kullanım için nasıl seçildiğini netleştirmeye yardımcı olabilir mi?

resim açıklamasını buraya girin

Düzenlendi (2014-02-27) :

Hala tüm araçları tam olarak anlamıyorum. Aşağıdakiler, Google'ın en son dokümanlarına dayanan sınırlı anlayışımdır:

  • Android SDK Derleme araçları , Android SDK Platform araçlarının bileşenleri idi . Android SDK Platform araçlarından ayrıldı, böylece oluşturma araçları entegre geliştirme ortamı (IDE) bileşenlerinden bağımsız olarak güncellenebilir.
  • Android SDK Platform araçları , en yeni Android platformunun özelliklerini destekleyecek şekilde özelleştirilmiştir. Geriye dönük uyumludurlar, böylece uygulamanız eski Android platformlarını bile hedefleyen Android SDK Platform araçlarının her zaman en son güncellemesini kullanırsınız .
  • SDK araçları platformdan bağımsızdır ve hangi Android platformunu geliştiriyor olursanız olun gereklidir.

Android SDK Derleme araçlarını tek bir örneği olan ve güncellemeyi yönetmek kolay olan Android SDK Platform araçlarından çıkarmanın mantığını hala anlamıyorum . Düşünebileceğim tek olası neden, bazı uygulamaların bunları oluşturmak için eski yapı bileşenlerine güvenmesi gerektiğidir. Google'ın belgesi bundan bahsediyor, ancak nedenini açıklamıyor. Sürüm notlarına bakarak, Android SDK Derleme araçlarının güncellemelerinin öncelikle hataları düzeltmek veya yeni platformlar için destek eklemek olduğunu göreceksiniz . Bazı eski sürümlerini kullanmak uygulamaları için aklınıza gelebilecek tek sebebi Android SDK Yap-araçları onlar belli böcek itimat olmasıdır Android SDK Yap-araçları. Bu uygulamalar, bu hatalarla oluşturulmadan normal şekilde çalışmaz. Google'ın bunu, araçlardaki bu hataların belirli uygulamalar için neden kritik olduğunu gösteren bir veya iki örnek vererek daha iyi açıklayabilseydim.

Yanıtlar:


88

Android SDK Derleme araçlarının sürümü hakkında cevap

Varsayılan olarak, Android SDK, Oluşturma Araçlarının en son indirilen sürümünü kullanır.

Kaynak

Eclipse uygulamasında, dosyadaki sdk.buildtoolsözelliği kullanarak belirli bir sürümü seçebilirsiniz project.properties.

Tüm oluşturma araçlarını açıklayan resmi bir sayfa yok gibi görünüyor. İşte Android ekibi bunun hakkında söylüyor.

Aidl, aapt, dexdump ve dx gibi [build] araçlarına genellikle Android oluşturma araçları veya Android Geliştirme Araçları (ADT) denir, bu nedenle bu araçları nadiren doğrudan çağırmanız gerekir. Genel bir kural olarak, bunları gerektiğinde çağırmak için derleme araçlarına veya ADT eklentisine güvenmelisiniz.

Kaynak

Her neyse, burada araçlar, platform araçları ve oluşturma araçları arasındaki farkların bir sentezi:

  • Android SDK Araçları
    • Yer: $ANDROID_HOME/tools
    • Ana araçlar: karınca komut dosyaları (APK'larınızı oluşturmak için) ve ddms(hata ayıklama için)
  • Android SDK Platformu araçları
    • Yer: $ANDROID_HOME/platform-tools
    • Ana araç: adb(bir emülatörün veya Android cihazının durumunu yönetmek için)
  • Android SDK Oluşturma araçları
    • Yer: $ANDROID_HOME/build-tools/$VERSION/
    • belgeleme
    • Ana araçlar: aapt(R.java ve atanmamış, imzasız APK'lar oluşturmak için), dx(Java bayt kodunu Dalvik bayt koduna dönüştürmek için) ve zipalign(APK'larınızı optimize etmek için)

Farklı oluşturma araçları sürümleri için değişiklik günlüğü olduğunu gerçekten sevindim
Ewoks

@lacton Projem için eski oluşturma aracını (sürüm 17) kullandım. En son oluşturma aracıyla yeniden oluşturabilir miyim?
user1156041

Tutulma ve stüdyo için aynı sdk + build araçlarını kullanabilir miyiz?
Muhammed Babar

38

Android SDK oluşturma araçları, bir Android uygulamasında hata ayıklamak, oluşturmak, çalıştırmak ve test etmek için kullanılır.

Android Derleme Araçları, komut satırı veya IDE (Eclipse veya Android Studio gibi) geliştirmek ve çalışmak için kullanılabilir.

Ayrıca Android cihazları bağlamak ve rootlamak için kullanılır. (Fastboot, adb ve daha fazlası ..)

Her zaman en son sürümü kullanın. (Önerilir)

Android Derleme araçları ve komutları hakkında daha fazla bilgi


Bilgi için teşekkürler. Android Yapı Araçları'nın "Android cihazları bağlamak ve rootlamak için kullanıldığını" mı kastediyorsunuz? adbis, Android Platform Araçları'nın bir parçasıdır. Adb, çalışması için Android Derleme Araçlarına mı bağlı? Öyleyse nasıl? Meraklıyım.
Hong

adb dosyaları komut satırından itmek ve çekmek için kullanılabilir. (Daha fazla işlevsellik.) Fastboot, özel önyükleme yükleyicilerini flaşlamak için kullanılabilir. Ancak, geliştirme için terminal kullanmadığınız sürece bu komutlar Android geliştirme için yararlı değildir. Her şey IDE'nin kendisinde mevcuttur.
mipreamble

1
Benim anlayışım Eclipse arka planda adb.exe kullanır.
Hong

@ sipreamble Peki android sdk: araçlar, platform araçları ve yapı araçları arasındaki fark nedir? Oluşturma araçları olmadan uygulamamı oluşturabilir ve çalıştırabilirim.
kreker

1
@CJBS Evet. Bir sürüm için ayarlanan araçlara bağlı kalmak işe yarayacaktır. Derleme araçları, Android'in yeni sürümü geldiğinde güncellenir. Uygulamayı en son Android sürümleri için derlemek ve test etmek istersiniz.
mipreamble

16

Yapı Araçları, Platform Araçları ve Araçlar arasındaki farkın tartışmasını başkalarına bırakacağım. Pratik bir bakış açısından, sadece ikinci sorunuzun cevabını bilmeniz gerekir:

Hangi sürüm kullanılmalıdır?

Cevap: En son sürümü kullanın.

Android Studio'yu Gradle ile kullananlar için, (Module: app) dosyasında buildToolsVersionayarlanmalıdır build.gradle.

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.2"

    ...
}

Derleme Araçlarının en son sürüm numarasını nereden bulabilirim?

Android SDK Yöneticisi'ni açın.

  • Android Studio'da Araçlar > Android > SDK Yöneticisi > Görünüm ve Davranış > Sistem Ayarları > Android SDK'ya gidin.
  • SDK Araçları sekmesini seçin .
  • Listeden Android SDK Derleme Araçları'nı seçin
  • Kontrol Göster Paketi Ayrıntıları .

Son öğe en son sürümü gösterecektir.

resim açıklamasını buraya girin

Emin yüklü olduğundan emin olun ve sonra da bu sayıyı yazmak buildToolsVersioniçinde build.gradle(Modül: uygulaması).


1
24.0.2 varsa, 24.0.1 ve 24 neden eski olarak işaretlenmemektedir (bağımsız yönetici eski paketlerin gösterilmesine / gizlenmesine izin verir)?
user1803551

3
@ user1803551, en son oluşturma araçları sürümünü otomatik olarak kullanmak her zaman istenmez. Örneğin, uygulamanızı belirli bir oluşturma araçları sürümüyle önceden test ettiğinizi varsayalım. Oluşturma araçlarınızı güncellerseniz, orada yapılan bir değişiklik uygulamanızda bir şeyi bozabilir. Geliştiricilerin eski derleme araçları sürümlerini kullanmaya devam etmelerine izin vermek, derlemelerinin beklendiği gibi çalışmaya devam etmesini sağlar. Eski olarak bildirilenlerin modeline bakarsanız, 24 ve 24.0.1'in sonunda eski olarak ilan edileceğini görebilirsiniz.
16'da Suragch

13

Bunlarla ilgili ayrıntıları bu Android'de bulabilirsiniz - Komut Satırı Araçları


tl; dr:

SDK Araçları:

  1. Android SDK Yöneticisi (sdkmanager)
  2. AVD Yöneticisi (avdmanager)
  3. Dalvik Hata Ayıklama Monitörü Sunucusu (ddms)

Yapı Araçları:

  1. imzalayan
  2. ProGuard
  3. zipalign
  4. Jobb

Platform Araçları:

  1. adb
  2. aidl, aapt, dexdump ve dx
  3. bmgr
  4. logcat

1
aidl, aapt, dexdump ve dx bunlar platform araçları değil, yapı araçlarının bileşenleridir
Masum

9

Doğru cevap

Android SDK'nın yapıya özgü bileşenlerini platform araçları bileşeninden ayırarak yapı araçlarının tümleşik geliştirme ortamı (IDE) bileşenlerinden bağımsız olarak güncelleştirilebilmesi için.

bağlantısı (Revizyon 17'yi genişlet)


4
Bilgi için teşekkürler. Daha yeni sürümler yalnızca geliştirilmiş eski sürümlerse, Google'ın neden yalnızca bir Oluşturma aracı yoktur ve SDK Araçları ve Platform araçları gibi güncellemeye devam ediyor? Başka bir deyişle, daha eski sürümlere sahip olmanın nedeni nedir?
Hong

2
Ben sadece bu cevabı iptal etmeye çalıştım ama geçen sene zaten iptal ettim! @Hong, eski oluşturma araçlarını koruyorlar çünkü araçları güncelledikçe bazı özellikler kullanımdan kaldırılıyor. Ancak uygulama geliştiricilerin bu özelliklere dayanan kaynak kodu olabilir, böylece eski sürümleri bu eski kod tabanlarını desteklemek için kullanılabilir halde tutarlar.
mateor

1
Bu durumda, geliştiricilerin hala eski sürümleri kullanmak zorunda olup olmadıklarını tam olarak bilmesi için kullanımdan kaldırılmış özelliklerin bir listesi olmalı mı?
Hong Kong

@Hong: Tam da aradığım soru bu. Şimdi ... bir cevap bulmak için kapalı :)
DerpyNerd

2

Android SDK Derleme Araçları tam olarak adın söylediklerini oluşturur; En son oluşturma araçları sürümünü (Android SDK üzerinden IDE'niz tarafından otomatik olarak seçilir) kullanmak çok önemlidir, ancak eski sürümlerin bırakılmasının nedeni geriye dönük uyumluluğu desteklemektir, yani Projeleriniz Oluşturma Araçları'nın eski sürümleri.

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.