vehbiakdogan

Senior Sofware Developer

Android

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 🙂

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir