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 🙂