vehbiakdogan

Senior Sofware Developer

app:transformClassesWithDexForDebug

Android DexIndexOverflowException Hatası

Merhaba arkadaşlar bugün yazdığım uygulamada google maps apilerini kullanmam gerekti. Gerekli apileri uygulamama entegre ettim derlerken sıkıntı olmazken apk çıktı almak istediğimde

Error:Execution failed for task ‘:app:transformClassesWithDexForDebug’. > com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536 hatasını aldım. Bu hata uygulamamızın default ayarlarında multiDexEnabled parametresi false olmasından kaynaklanıyor.

DexIndexOverflowException Hatası Çözümü

 

Uygulamamızın build.gradle dosyasını açıyoruz ve defaultConfig Kısmına aşağıdaki parametreyi ekliyoruz.

 defaultConfig {
.
.
.

    multiDexEnabled true
}

Ekledikten sonra sağ üstte çıkan Sync Now  butonuna basmayı unutmayın aksi taktirde uygulamanız yine hata verecektir.

Daha sonra Yeni bir sınıf oluşturup Application sınıfından kalıtalım ve bu sınıfı manifest dosyasındaki <application /> a ekleyelim.

public class MyApplication extends Application {

    @Override
    protected void attachBaseContext(Context base) {
       super.attachBaseContext(base);
       MultiDex.install(this);
    }

}

Android manifest dosyamızda da application tagının name değerini aşağıdaki gibi değiştirelim.

 

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:name=".MyApplication"
    android:theme="@style/AppTheme">

     // ...
</application>

 

Bir hatamızı daha çok şükür çözüme kavuşturduk arkadaşlar. Görüşmek üzere 🙂

Android