2012-05-04 25 views
7

Android SDK yöneticisiyle yüklediğim bazı Android SDK sürümlerinde gördüğüm dx.jar dosyasının amacı nedir; Dosya, araçlar/lib/dx.jar altında görünür. Dosyayı android-8 ve üzeri sürümlerde görmüyorum. Ancak, Intellij IDEA, android-8 ve üstü ile bir proje oluşturmaya çalıştığımda bir hata veriyor ve dx.jar mevcut olmadığını söylüyor. Ne verir?Android SDK'larında dx.jar nedir?

sayesinde Tom Çeşitli android SDK sürümü Altdizinlerde dx ve dx.jar farklı versiyonlarını (farklı boyut dosyaları) görüyorum Nedense

+5

dx.jar, Java bayt kodunu Dalvik bayt koduna dönüştürmek için kullanılan oluşturma işleminin bir parçasıdır. Tek bir API seviyesinin SDK'sinin bir parçası olmayan araçların bir parçası olduğu için, 'android-8' veya benzeri dizinlerde asla görmeyeceksiniz. – CommonsWare

+0

@CommonsWare Java sınıfını dalvik bytecode'a çevirmek için kullanıldığını nasıl anlıyorsunuz? – hugemeow

+1

@hugemeow: ** 'dx' ** komutunu çalıştırdığınızda, der ki:" Bir dizi sınıf dosyasını, isteğe bağlı olarak bir jar/zip içine gömülmüş bir dex dosyasına dönüştürme ". – CommonsWare

cevap

3

CommonsWare'ın yorumuna ek olarak .

dx.jar önce (özellikle android-3 ve android-4) android-sdk/platforms/android-X/tools/lib/ altında bulunan ve daha sonra android-sdk/platform-tools/lib/ için taşındı. Ne yazık ki bu, herhangi bir resmi kaynakta hiçbir zaman belgelenmemiş, muhtemelen Google'ın tüketici geliştiricisinin rahatsız edilmek istemediği iç araçların bir parçası olduğu için. Sorunu görmek için this blog adresine bakın.

sürece Android installation guide takip edip ekledikçe android-sdk/tools/ve android-sdk/platform araçları/sizin çevresel değişken YOL, size gerçekten eski Android'i kullanmadıkça, dx.jar erişmek için iyi olmalı SDK sürümü (bundan şüpheliyim).

[INFO]: C: \ Program Files \ Java \ jdk1

Son hızlı bir referans olarak, bu SDK genellikle size dış kavanoz kitaplıkları ile java bayt kodu Dex için dx.jar nasıl kullandıklarını komuttur. 6.0_21 \ jre \ bin \ java [-Xmx1024M, -jar, C: \ Program Dosyaları \ Android \ sdk \ platform araçları \ lib \ dx.jar, --dex, --output = C: \ çalışma alanı \ myproject \ hedef \ classes.dex, C: \ çalışma alanı \ myproject \ hedef \ sınıflar, C: \ çalışma alanı \ myprojec \ kütüphanelerini \ common-lib.jar, ... ...]

0

. Eclipse aracılığıyla SDK'ları yönetiyordum, birkaç ay önce bu konuda değişti (şimdi ayrı bir SDK Manager penceresiyle) - bu yüzden belki de bu geçiş sürecinde her şey bir şekilde berbatlaşıyor ...

+0

dx, yalnızca lib/dx.jar dosyasını çalıştırmak için kullanılan bir kabuk betiğidir. – yorkw

3

Halen dx.jar

'e taşındı
adt-bundle-*\sdk\build-tools\17.0.0\lib 

dx here kaynak kodunu bulabilirsiniz.

İlgili konular