Tuesday, October 22, 2013

Menjalankan OSMDroid di API 18: Mengatasi Error NoClassDefFoundError

Saat menjalankan OSMDroid di API 18 (Android 4.3 Jelly Bean), akan muncul error berikut:

10-22 21:23:56.038: E/AndroidRuntime(28372): java.lang.NoClassDefFoundError: org.osmdroid.tileprovider.util.CloudmadeUtil

Untuk mengatasinya, lakukan langkah berikut:

1. Pastikan semua library *.jar ditempatkan pada folder libs, bukan lib atau yang lainnya, lalu hilangkan dari Java Build-Path.

Semenjak API 17, ADT akan secara otomatis mendeteksi semua library *.jar yang ditempatkan dalam folder libs, lalu secara otomatis library tersebut akan ditempatkan di "Android Private Libraries". Jadi meng-add secara manual semua library *.jar sudah tidak diperlukan lagi.


2. Pastikan check pada "Android Private Libraries" di Java Build-Path > Order and Export.


3. Bersihkan project, Project > Clean.

4. Jalankan aplikasinya... Voila! OSMDroid bisa berjalan lancar di Android 4.3 Jelly Bean (API 18).


Selamat mencoba (Ya2n).