SORU
4 Mart 2013, PAZARTESİ


Dex yerine getirilemiyor: yöntem değil İD [0, 0xffff]: 65536

Önce dex hatalr çeşitli sürümleri gördüm, ama bu yeni. temiz/etc yardımcı olmaz yeniden başlatın. Kütüphane projeleri sağlam görünüyor ve bağımlılık doğru bağlantılı gibi görünüyor.

Unable to execute dex: method ID not in [0, 0xffff]: 65536
Conversion to Dalvik format failed: Unable to execute dex: method ID not in [0, 0xffff]: 65536

tl;drGoogle resmi çözüm sonunda burada!

http://developer.android.com/tools/building/multidex.html

Sadece küçük bir ipucu, büyük olasılıkla bu dex-ıng yaparken bellek yetersiz önlemek için yapmanız gerekir.

dexOptions {
        javaMaxHeapSize "4g"
}

CEVAP
4 EKİM 2014, CUMARTESİ


3 (11/3/2014) güncelleyin
Google nihayet official description yayınladı.


2 (10/31/2014) güncelleyin
Gradle eklentisi v0.14.Android için 0 22* *multi-dex için. Etkinleştirmek için, sadece bunu bildirmek zorundainşa.gradle:

android {
   defaultConfig {
      ...
      multiDexEnabled = true
   }
}

Eğer uygulamanız 5.0 öncesinde (Yani, eğer minSdkVersion 20 veya altında) Android destekliyorsa ayrıca dinamik yama varuygulama ClassLoaderyani ikincil dexes. sınıfları yüklemek mümkün olacak Neyse ki, sizin için bunu yapan library bir şey var. Uygulamanızın bağımlılıkları ekleyin:

dependencies {
  ...
  compile 'com.android.support:multidex:1.0.0'
} 

ClassLoader yama kodu mümkün olduğunca çabuk aramak gerekir. MultiDexApplication sınıfı documentation (seç . bu üç şekilde yapmanızı öneriyor ^strong>bunlardan birien uygun olan senin için):

1 - uygulama olarak MultiDexApplication sınıf BildirinAndroidManifest.xml:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.android.multidex.myapplication">
    <application
        ...
        android:name="android.support.multidex.MultiDexApplication">
        ...
    </application>
</manifest>

2 - Application Sınıf MultiDexApplication sınıfı genişletir

public class MyApplication extends MultiDexApplication { .. }

3 - Application#attachBaseContext yöntem MultiDex#install Arayın:

public class MyApplication {
    protected void attachBaseContext(Context base) {
        super.attachBaseContext(base);
        MultiDex.install(this);
        ....
    }
    ....
}

Güncelleme 1 (10/17/2014):
Beklendiği gibi multidex support Android tekrarı 21 sevk Kütüphane Desteği. /Android-support-multidex.jar sdk/extras/android/support/multidex/library/libs klasöründe bulabilirsiniz.


Multi-dex destek bu sorunu çözer. dx 1.8 zaten birkaç dex dosyaları yaratmanızı sağlar.
Android L çoklu dex özgün ve destek revizyon gelecek kitaplığı eski sürümleri API 4 için arka kapak oluyor destekleyecektir.

Anwar Ghuloum tarafından this Backstage podcast Android Geliştiricileri bölümde belirtilmiştir. posted a transcript I (genel multi-dex açıklama) ilgili bölümü.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • hydejiaqi

    hydejiaqi

    12 Mart 2008
  • Vladimir Jenko

    Vladimir Jen

    1 Mart 2010
  • WOSU Public Media

    WOSU Public

    23 AĞUSTOS 2007