"Konversi ke format Dalvik gagal dengan kesalahan 1" pada JAR eksternal

908

Dalam aplikasi Android saya di Eclipse saya mendapatkan kesalahan berikut.

PENGECUALIAN TOP-LEVEL TIDAK
DIKENAL : java.lang.IllegalArgumentException: sudah ditambahkan: Lorg / xmlpull / v1 / XmlPullParser;
....
Konversi ke format Dalvik gagal dengan kesalahan 1

Kesalahan ini hanya muncul ketika saya menambahkan file JAR eksternal tertentu ke proyek saya. Saya mencari waktu yang lama untuk solusi yang mungkin, tetapi tidak ada solusi yang mungkin bekerja.

Saya bahkan mencoba mengubah ke Android 1.6 bukannya 1.5 (versi saat ini saya gunakan).

Michel
sumber
Acticle ini dapat membantu Anda untuk memperbaiki kesalahan ini jika Anda menggunakan proyek perpustakaan di ruang kerja Anda.
Nguyen Minh Binh
4
Saya mencoba ini dan itu memberikan kesalahan yang sama. Saya akhirnya memperbaikinya dengan menambahkan perpustakaan di Properties-> JavaBuildPath-> Projects dan menambahkan perpustakaan di sana. Ini disebut "Objek yang diperlukan di jalur build:".
27
Masalah ini menjadi brutal bagi saya. Ini hampir cukup untuk melepaskan pengkodean Android. Tidak ada solusi yang berfungsi untuk saya. Saya hanya harus terus mencoba mengekspor gagal dengan Dalvik kesalahan 1 dan akhirnya akan berhasil. Butuh 15-30 menit untuk membuat rilis. Ini benar-benar bencana.
Anthony
Jika Anda menggunakan dua komputer di satu ruang kerja dengan perangkat lunak berbagi file, kadang-kadang duplikat workspace-> project-> bin-> com folder sebagai com 1, com 2. Cukup hapus semuanya dengan 1 atau 2, bersihkan proyek Anda dan Anda siap untuk pergi.
Ozan Atmar

Jawaban:

826

Buka Project »Properties» Java Build Path »Libraries dan hapus semua kecuali" Android XY "(dalam kasus saya Android 1.5). klik OK. Buka Proyek »Bersihkan» Bersihkan proyek yang dipilih di bawah »pilih proyek Anda dan klik OK. Itu seharusnya bekerja.

Mungkin juga Anda memiliki file JAR yang terletak di suatu tempat di folder proyek Anda (saya telah menyalin file JAR Admob ke folder src saya) dan KEMUDIAN menambahkannya sebagai Java Path Library. Itu tidak muncul di bawah Package Explorer, jadi Anda tidak menyadarinya, tetapi itu dihitung dua kali, menyebabkan kesalahan Dalvik yang ditakuti 1.

Alasan lain yang mungkin bisa menjadi konflik nama paket. Misalkan Anda memiliki paket com.abc.xyzdan kelas bernama A.javadi dalam paket ini, dan proyek perpustakaan lain (yang ditambahkan ke ketergantungan proyek ini) yang berisi hal yang sama com.abc.xyz.A.java, maka Anda akan mendapatkan kesalahan yang sama persis. Ini berarti, Anda memiliki beberapa referensi ke file yang sama A.javadan tidak dapat membangunnya dengan benar.

Dengan cara lain ini dapat terjadi jika Anda secara tidak sengaja atau sengaja mengedit / menambahkan sesuatu dalam file path kelas secara manual. Dalam kasus tertentu kita dapat menambahkan path android.jar secara manual ke file classpath untuk menghasilkan java doc. Pada menghapusnya setelah javadoc dihasilkan kode akan berfungsi dengan baik. Silakan periksa ini juga jika ada yang masih terjadi.

pengguna408841
sumber
4
Saya memiliki masalah yang sama dan langkah-langkah di atas oleh user408841 bekerja untuk saya.
Arunabh Das
112
Hai. Ini memperbaiki bagi saya hanya dengan masuk "Proyek» Bersihkan »Bersihkan proyek yang dipilih di bawah» pilih proyek Anda dan klik OK. " mengabaikan bit 1
Kurru
79
Saya cukup bingung dengan solusi ini. Jika Anda menghapus semua file jar dan pustaka, bagaimana Anda akan mengkompilasi proyek dengan sukses?
Cheok Yan Cheng
3
Saya menemukan bahwa satu-satunya cara ini berhasil bagi saya adalah MEMBERSIHKAN SEMUA PROYEK! Terutama yang tergantung pada proyek yang menyinggung.
Roy Hinkley
7
Saya baru mengenal pengembangan Android yang berasal dari .NET, dan jujur ​​saja kesalahan ini melambangkan pengalaman saya dengannya. Serius ... apa yang Anda lakukan dengan pesan kesalahan itu? Sama sekali tidak ada artinya. 'Dalvik' ?? Kamu apa ?? Bawa saya kembali ke studio visual: p
David Masters
271

Saya memecahkan masalah.

Ini adalah konflik file JAR.

Tampaknya saya memiliki dua file JAR pada buildpath saya yang menyertakan paket dan kelas yang sama.

smack.jar dan android_maps_lib-1.0.2

Menghapus paket ini dari salah satu file JAR memecahkan masalah.

michel
sumber
18
+1 - Singkatnya, ini adalah konflik file JAR. Secara khusus, ini bisa menjadi konflik di setiap dua file JAR. Dalam kasus saya, konflik adalah antara jackson-all-1.7.4.jar, jackson-core-asl-1.5.4.jar, dan jackson-mapper-asl-1.5.4.jar. Saya menghapus dua JAR 1,5,4 dan meninggalkan 1,7,4 semua.
jmort253
Jika Anda memiliki guci di proyek perpustakaan apa pun yang telah Anda tambahkan di proyek Anda sendiri, seperti bagaimana saya telah menambahkan ScoreloopUIproyek ke permainan AndEngine saya, guci ini juga mengganggu Anda, meskipun mereka tidak berada di jalur pembangunan proyek Anda sendiri.
pqn
1
Saya telah menentukan android-SDK / platform / Android-10 / Android.jar secara manual di .classpath, kemudian saya berubah menjadi 2.3.3 (Android 10) di properti proyek yang menyebabkan kedua android.jar mengalami konflik. Menghapus ekstra di Java Build Path melakukan trik
styler1972
2
Di pihak saya konflik berasal dari ActionbarSherlock yang sudah termasuk paket dukungan android yang git termasuk dua kali.
Tobias
Sekadar informasi: Dalam kasus saya, karena kegagalan, target android yang berbeda tidak sama di kedua proyek: android: targetSdkVersion = "xx"
Andreas Mattisson
126

Solusi Windows 7:

Mengonfirmasi masalah ini disebabkan oleh baris perintah ProGuard dalam file
[Direktori Instalasi Android SDK] \ tools \ proguard \ bin \ proguard.bat

Edit baris berikut ini akan menyelesaikan masalah:

call %java_exe% -jar "%PROGUARD_HOME%"\lib\proguard.jar %*

untuk

call %java_exe% -jar "%PROGUARD_HOME%"\lib\proguard.jar %1 %2 %3 %4 %5 %6 %7 %8 %9
Nuh
sumber
ini tidak berhasil untuk saya, tetapi mengomentari baris proguard dari file default.properties saya membuat kesalahan hilang. masalah saya sepertinya terkait dengan proguard entah bagaimana. saya hanya mendapatkan "Konversi ke format Dalvik gagal dengan kesalahan 1" ketika mencoba untuk mengekspor proyek. ada pemikiran?
Ben H
saya mencoba saran di atas lagi, dan menghapus dan menambahkan kembali proyek perpustakaan LVL saya, dan sekarang berfungsi. tidak yakin apa sebenarnya yang memperbaikinya, tetapi berfungsi. Terima kasih Tuhan. saya membuang waktu berjam-jam untuk ini.
Ben H
Windows Vista, dan ini berhasil untuk saya. Saya sebelumnya telah mencoba mengubah jalur SDK ke progra ~ 2, menginstal ulang, membersihkan proyek, menghapus perpustakaan dan memperbaiki, dll ... Jadi terima kasih Nuh!
Mudar
Terima kasih banyak, Nuh, ini bekerja untuk saya juga di Windows 7. Kesalahan dimulai setelah saya memperbarui ADT ke versi 12.
Kevin
Memecahkan masalah saya di Windiws 7.
poiuytrez
94

Anda dapat menyelesaikan masalah ini dengan mudah (dengan Eclipse Android Developer Tools, Build: v22.0.1-685705) dengan mematikan menu> "Project"> "Build Automatically" sambil mengekspor (tidak) aplikasi Android yang ditandatangani. Setelah itu, jangan lupa untuk menyalakannya lagi.

Ton Snoei
sumber
2
Ini menyelesaikannya dalam kasus saya. Masalahnya jika tidak terjadi secara sporadis dan tanpa penyebab pasti (mis. Jar atau jalur yang buruk)
Dirk Conrad Coetsee
Ini membuatku gila! Satu-satunya solusi yang berhasil untuk saya. Bertanya-tanya mengapa.
PrivusGuru
1
Ini dipecahkan untuk saya - solusi lain mungkin bisa membantu juga, tetapi yang ini adalah yang terakhir sebelum mulai bekerja.
pertz
Saya telah menghabiskan 4 jam bekerja melalui setiap saran yang bisa saya temukan dan akhirnya sampai pada yang ini. Terima kasih - itu memecahkan masalah dengan segera.
Squonk
Solusi yang sangat sederhana, tetapi berhasil! Menyelamatkan saya beberapa jam dari pertarungan sia-sia dengan Eclipse. Cobalah sebelum Anda mencoba solusi yang lebih rumit.
fragon
53

Jika Anda memiliki ADT revisi 12+, Anda harus memperbarui proguard Anda dari 4.4 -> 4.6 (seperti dijelaskan di sini ). Juga, Anda harus meninggalkan ... \ bin \ proguard.bat file dalam bentuk asli.

Cukup unduh dari web, dan salin folder lib dari paket yang diunduh ke:

[Direktori Instalasi SDK Android] \ tools \ proguard \ lib

Kocus
sumber
3
Ini adalah masalah saya di beberapa ADT. Mengunduh dan mengganti JAR proguard berfungsi.
Tn. S
Wow, terima kasih, ini memperbaikinya untuk saya, walaupun saya juga perlu menjernihkan beberapa peringatan juga. stackoverflow.com/q/4525661/38258
Nick Gotch
saya mengubah versi proguard dari 4.4 ke 4.9, setelah itu masalah saya masih belum terpecahkan.
Hiren Patel
1
Saya hanya harus melakukan ini sendiri, mulai dari 4,7 -> 4,11 (terbaru sekarang di sini: sourceforge.net/projects/proguard/files ). Saya baru saja mengganti nama <sdk>/tools/proguarddir lama dan memindahkan proguard4.11dir unzipped lengkap ke jalan lama. Voila! Sekarang seandainya saya bisa mendapatkan jam saya kembali ... -_-
qix
1
Terima kasih! ini menyelesaikan masalah saya dengan benar. Masalah saya disebabkan ketika saya memperbarui SDK saya dari Manajer SDK dan proguard telah diatur ulang ke versi asli yang menyertainya dengan api level 11. Setelah saya memperbarui proguard, jar ke versi terbaru. dan itu berhasil! Referensi saya: java.dzone.com/articles/my-reminder-how-fix-conversion
mmw5610
41

EDIT (solusi baru):

Sepertinya solusi sebelumnya hanya bypass. Saya akhirnya berhasil memperbaiki masalah secara permanen: Dalam kasus saya ada ketidakcocokan dalam file android-support-v4 di proyek saya dan di proyek Facebook yang dirujuk dalam proyek saya.

Saya menemukan kesalahan ini dengan melakukan Pemeriksaan Lint (Alat Android / Jalankan Lint: Periksa Kesalahan Umum)

Solusi saya sebelumnya:

Saya sudah mencoba solusi yang mungkin di situs ini - tidak ada yang membantu !!!

Akhirnya saya menemukan jawaban di sini: https://groups.google.com/forum/#!topic/actionbarsherlock/drzI7pEvKd4

Langkah mudah:

Buka Proyek -> hapus centang Bangun Otomatis

Buka Proyek -> Bersihkan ..., bersihkan proyek perpustakaan dan proyek aplikasi Anda

Ekspor aplikasi Anda sebagai APK yang ditandatangani sementara Build Automatically masih dinonaktifkan

Paveliko
sumber
Terima kasih telah bekerja untuk saya untuk proyek cocos2dx js saya menggunakan adt eclipse 23
snowflakes74
Kesalahan: Opsi tidak dikenal '0409' dalam argumen nomor 1
Iman Marashi
30

Berikut ini skenario lain, dan solusinya:

Jika Anda mengalami masalah ini baru-baru ini setelah memperbarui ADT untuk Eclipse:

  1. Di proyek aplikasi Anda, periksa folder sumber tertaut yang menunjuk ke proyek perpustakaan Anda (mereka memiliki nama dalam bentuk "LibraryName_src").
  2. Pilih semua proyek itu, klik kanan, pilih " Build Path " -> " Remove from Build Path ".
  3. Pilih " Juga putuskan tautan folder dari proyek ", dan klik " Ya ".
  4. Bersihkan, bangun kembali, dan pindahkan proyek ini.

Tampaknya alasannya adalah bahwa beberapa versi sebelumnya dari folder sumber proyek perpustakaan terkait ADT ke proyek "child", dan kombinasi ADT / Dex saat ini tidak kompatibel dengan solusi itu lagi.

EDIT: ini dikonfirmasi oleh entri Blog Android Dev, khususnya yang ini - lihat paragraf ke-8 dan seterusnya.

rev TheTerribleSwiftTomato
sumber
1
Sejauh ini, inilah jawaban yang paling membantu untuk masalah khusus saya . Terima kasih banyak!!!
Bill The Ape
Inilah yang bisa saya gunakan dengan sukses, bukan jawaban yang sangat tervvotifikasi oleh user408841.
rics
29

Pergi ke Project dan kemudian hapus centang "Build Automatically". Lalu cobalah untuk mengekspor proyek dan kesalahan hilang.

kgandroid
sumber
27

Ini juga dapat disebabkan jika Anda telah menambahkan Android.jarfile ke jalur build Anda, mungkin karena perbaikan cepat yang tidak disengaja di Eclipse. Hapus dengan mengklik kanan Project -> build path -> configure build path -> android.jar , hapus.

Tom Dignan
sumber
25

Cukup membersihkan proyek telah bekerja untuk saya setiap kali kesalahan ini muncul.

BTR
sumber
Restart Eclipse + membersihkan proyek + membangun manual bekerja untuk saya.
dodgy_coder
Pembersihan bekerja untuk saya .... jadi jika Anda memiliki build debug yang baik yang telah Anda jalankan di telepon yang sebenarnya dan kemudian pergi untuk melepaskan ekspor dan melihat kesalahan ini ... coba bersihkan semua proyek terlebih dahulu.
lepert
16

Solusi saya sendiri dan satu-satunya yang saya temukan hari ini setelah empat jam menguji semua solusi, adalah kombinasi dari banyak solusi yang disediakan di sini:

  • Delete proyek dari Eclipse
  • Hapus file di \bindan \gendari folder proyek
  • Hapus referensi ke perpustakaan ke .classpathfile di folder proyek root
  • Mulai ulang Eclipse dengan baris perintah: eclipse -clean
  • Import proyek
  • Klik kanan pada proyek - pilih Properties> Java Build Path> Librariesdan menghapus segala sesuatu yang lain daripadaAndroid XX.Y
  • Akhirnya cleanproyek, tunggu Bangunan otomatis atau Builditu
  • Luncurkan dan sekarang berfungsi! Setidaknya untuk saya...

Saya mencoba setiap langkah pada suatu waktu dan banyak kombinasi, tetapi hanya suksesi dari semua langkah sekaligus yang berhasil! Saya harap saya tidak akan menghadapi ini lagi ...

Darkendorf
sumber
Ada peringatan dari pengguna anonim bahwa ini memiliki hasil yang sangat buruk. Coba dengan risiko Anda sendiri!
PaulG
ini bekerja untuk saya tetapi saya tidak melakukannya: "eclipse -clean" dan tidak menghapus Libraries.
NicoMinsk
Menghapus binfolder melakukannya untuk saya.
boltup_im_coding
14

Hanya untuk orang lain yang masih memiliki masalah ini dan mereka telah mencoba jawaban di atas tetapi masih mendapatkan kesalahan (yang merupakan kasus saya), maka solusi saya adalah menghapus proyek dari Eclipse dan mengimpor kembali lagi.

Ini membuat perpustakaan Android ditambahkan lagi ke perpustakaan yang direferensikan saya, jadi sekarang saya memiliki dua file Android JAR yang direferensikan, maka saya menghapus salah satunya dan sekarang kompilasinya bagus.

Solusi: Hapus proyek dari Eclipse IDE dan kemudian impor kembali lagi, lalu periksa solusi di atas.

Peter Mortensen
sumber
Terima kasih! Ini membantu saya keluar dari awal.
herbertD
10

Berlari ke masalah ini sendiri hari ini. Membersihkan dan membangun kembali tidak memperbaiki masalah. Menghapus dan mengimport ulang proyek juga tidak membantu.

Saya akhirnya menelusurinya kembali ke penambahan yang buruk pada file .class saya. Saya pikir ini ditambahkan oleh alat plugin ketika saya mencoba untuk memperbaiki masalah lain, menghapusnya menyingkirkan "Konversi ke format Dalvik gagal dengan kesalahan build 1":

<classpathentry kind="lib" path="C:/dev/repository/android-sdk-windows/platforms/android-3/android.jar">
    <attributes>
        <attribute name="javadoc_location" value="file:/C:/dev/repository/android-sdk-windows/docs/reference"/>
    </attributes>
    <accessrules>
        <accessrule kind="nonaccessible" pattern="com/android/internal/**"/>
    </accessrules>

Joe Fernandez
sumber
9

Bagi saya, referensi JAR tambahan telah muncul di jalur build saya. Saya menghapus ini, dan berfungsi sekarang.

brux
sumber
8

Masalah saya disebabkan oleh ADT versi 12.0 dan integrasi ProGuard. Bug ini didokumentasikan dengan baik dan solusinya ada di dokumentasi

Solusi ada di sini

Baris perintah ProGuard

Croc
sumber
Terima kasih Croc, saya tidak berpikir bug itu didokumentasikan dengan sangat baik - saya tidak menemukannya setelah mencari satu jam untuk solusi.
Kevin
Anda mungkin menulis - masalahnya adalah bahwa satu pesan kesalahan memiliki terlalu banyak penyebab. Google harus memiliki beberapa pesan lagi untuk membantu pengguna menguraikan masalah. Anda bisa mendapatkan kenyamanan dalam kenyataan bahwa saya butuh dua hari untuk menyelesaikan masalah ketika saya menemukannya ...
Croc
Mengomentari 11 pada halaman pembahasan bug yang terhubung menyelesaikan masalah di sini: atur output build ke Verbose (dari Window> Preferences> Android> Build) dan cari JAR atau kelas yang digunakan kompiler tetapi seharusnya tidak ada di sana. Hapus mereka. Pengalaman membangun tanpa masalah lagi.
Giulio Piancastelli
8

Saya telah mengatasi masalah ini saat menggunakan pustaka Sherlock ActionBar di proyek saya. Anda bisa melakukan langkah berikut, ini berhasil untuk saya.

  1. Klik kanan untuk proyek Anda, pilih properti.
  2. Dialog akan muncul, pilih 'Java build path' di menu sebelah kiri.
  3. Hapus 'Android dependencies' dan 'Android private libraries' di panel kanan lalu klik OK
  4. Bersihkan proyek Anda (pilih menu Proyek -> Bersihkan)
  5. Klik kanan proyek Anda, pilih Alat Android -> Perbaiki properti proyek
  6. Bersihkan proyek sekali lagi.
  7. Hidupkan Kembali komputer Anda
  8. Buka apk eclipse dan Ekspor

Semoga itu bisa membantu Anda.

mvmanh
sumber
Pesan kesalahan mereka harus lebih ditentukan. Anda menghemat waktu saya. Terima kasih.
teapeng
7

Dalam kasus saya masalahnya sebenarnya dengan proyek OpenFeint API. Saya telah menambahkan OpenFeint sebagai proyek perpustakaan:

proyek perpustakaan]! [1]! [Masukkan deskripsi gambar di sini.

Ini juga ditambahkan ke path build, alat ADT 16 memberikan kesalahan dengan sceneario ini.

Klik kanan pada proyek Anda dan klik build path, konfigurasikan path build dan kemudian lihat gambar dan hapus proyek OpenFeint Anda dari sini dan semuanya selesai :)

Masukkan deskripsi gambar di sini

AZ_
sumber
7

Saya menemukan sesuatu yang lain. Android menggunakan /libsdirektori untuk file JAR. Saya telah melihat kesalahan "Konversi ke format Dalvik gagal dengan kesalahan 1" berkali-kali, selalu ketika saya membuat kesalahan dalam file JAR saya.

Sekarang saya memutakhirkan Roboguice ke versi yang lebih baru, dengan meletakkan file JAR baru di /libsdirektori dan mengalihkan jalur kelas ke versi baru. Itu menyebabkan kesalahan Dalvik.

Ketika saya menghapus salah satu file Roboguice JAR dari /libsfolder, kesalahannya hilang. Rupanya, Android mengambil semua file JAR /libs, terlepas dari yang Anda tentukan di jalur Java build. Saya tidak ingat persis, tetapi saya pikir Android mulai digunakan /libssecara default dimulai dengan Android 4.0 (Ice Cream Sandwich, ICS).

Peter Mortensen
sumber
7

Memperbarui Proguard ke versi terbaru menyelesaikannya untuk saya.

  • Jalur proguard saya adalah C:\Program Files (x86)\Android\android-sdk\tools\proguard\
  • Saya mengunduh versi baru dari sini
  • dan mengganti folder bin dan lib

TERIMA KASIH TUHAN!

Pinhassi
sumber
7

Secara umum, tampaknya masalah ini muncul ketika ada file JAR yang tidak perlu dalam membangun jalur.

Saya menghadapi masalah ini saat mengerjakan IntelliJ IDEA . Bagi saya itu terjadi karena saya menambahkan perpustakaan JUnit dan Mockito yang sedang dikompilasi pada saat runtime. Ini perlu diatur ke "pengujian" pada properti modul.

mindReader
sumber
Oh thanx untuk menyebutkan "Secara umum, tampaknya masalah ini muncul ketika ada stoples yang tidak perlu dalam membangun jalur." Setelah menghapus kesalahan file jar yang tidak perlu hilang. :)
surendran
6

Tidak ada solusi yang diusulkan sebelumnya yang bekerja untuk saya. Dalam kasus saya, masalah terjadi ketika saya beralih dari referensi folder kode sumber perpustakaan ke menggunakan file JAR perpustakaan. Awalnya ada proyek perpustakaan Android yang terdaftar di bawah proyek aplikasi Android Properties \ Android page \ bagian Library, dan perpustakaan dibandingkan juga di pohon proyek explorer sebagai tautan ke direktori sumber perpustakaan.

Di tempat pertama, saya baru saja menghapus tautan direktori dari pohon proyek dan saya menambahkan perpustakaan JAR ke jalur pembuatan, tetapi ini menyebabkan pengecualian.

Prosedur yang benar adalah (setelah mengubah kembali jalur build dan meletakkan kembali referensi ke sumber perpustakaan):

  • dengan benar menghapus tautan direktori sumber pustaka dengan benar-benar menghapus referensi dari halaman proyek properti Properties \ Android

  • menambahkan JAR perpustakaan ke proyek aplikasi membangun jalur seperti biasa.

superjo
sumber
6

Tidak ada solusi yang terdaftar yang berfungsi untuk saya.

Di sinilah saya mengalami masalah:

Saya menambahkan file JAR eksternal jSoup ke jalur proyek saya dengan terlebih dahulu meletakkannya di folder sumber yang disebut "libs", dan kemudian mengklik kanan padanya, Build Path -> add to build path. Ini menimbulkan kesalahan konversi Dalvik. Dikatakan saya "sudah memasukkan" kelas dari file JAR itu. Saya melihat-lihat direktori proyek dan menemukan bahwa tempat itu "sudah termasuk" sebenarnya adalah bindirektori. Saya menghapus file JAR dari bindirektori dan menyegarkan proyek di Eclipse dan kesalahan hilang!

Andrew
sumber
5

Semua solusi di atas tidak berhasil untuk saya. Saya tidak menggunakan .jar yang dikompilasi sebelumnya. Saya menggunakan kesalahan LVL dan Dalvik di mana semua terkait dengan perpustakaan lisensi pasar.

Masalah diselesaikan dengan menghapus proyek utama dan mengimpor kembali (buat proyek baru dari sumber yang ada).

olivierg
sumber
5

Saya memiliki masalah yang sama dan tidak ada solusi yang berhasil. Akhirnya, saya melihat di konsol bahwa kesalahan itu disebabkan oleh duplikasi kelas (satu di proyek yang ada, satu di file jar yang ditambahkan):

java.lang.IllegalArgumentException: already added: package/MyClassclass;
[2011-01-19 14:54:05 - ...]: Dx1 error; aborting
[2011-01-19 14:54:05 - ...] Conversion to Dalvik format failed with error 1

Jadi periksa apakah Anda menambahkan jar dengan duplikat kelas dalam proyek Anda. Jika ya, coba hapus salah satunya.

Ini berhasil untuk saya.

Seynorth
sumber
lihat jawaban saya: stackoverflow.com/questions/2680827/…
Michel
5

Seringkali bagi saya, membersihkan proyek TIDAK memperbaiki masalah ini.

Tetapi menutup proyek di Eclipse dan kemudian membukanya kembali sepertinya memperbaikinya dalam kasus-kasus itu ...

Andrew
sumber
1
Sama bagi saya, menutup Eclipse dan memulai lagi biasanya menyelesaikannya. Kemudian saya mencoba, tetapi saya tidak dapat melakukan ekspor kedua, saya harus memulai kembali.
Ted
5

Saya mengalami masalah ini tetapi solusi saya ada dua. 1.) Saya harus menambahkan versi target Android di bawah proyek -> properties -> Android . 2.) Saya tidak memiliki semua 'pengaya pihak ketiga' google. Klik di Manajer AVD SDK di bawah paket yang tersedia -> pihak ketiga add-ons -> Google Inc . Saya mengunduh semua SDK dan itu memecahkan masalah saya.

THE_DOM
sumber
Solusi saya hampir sama dengan solusi @THE_DOM. Klik kanan proyek, pilih Alat Android, lalu pilih Tambahkan Perpustakaan Kompatibilitas. Ini akan mengunduh "pengaya pihak ketiga" tersebut jika Anda tidak memilikinya (solusi THE_DOM), tetapi itu juga akan menambahkannya ke dalam proyek Anda. Apakah solusi ini hanya plasebo atau belum belum terlihat. :)
Chris
5

Saya menggunakan Android 1.6 dan memiliki satu file JAR eksternal. Apa yang berhasil bagi saya adalah menghapus semua perpustakaan, klik kanan proyek dan pilih Android Tools -> * Perbaiki Properti Proyek (yang ditambahkan kembali Android 1.6) dan kemudian tambahkan kembali file JAR eksternal.

Jim Rhodes
sumber
5

Saya mengalami masalah ini karena Android-Maven-plugin di Eclipse tampaknya tidak mengenali referensi transitif dan referensi yang direferensikan dua kali dari beberapa proyek (termasuk proyek perpustakaan Android), dan memasukkannya lebih dari satu kali. Saya harus menggunakan hocus-pocus untuk mendapatkan semuanya termasuk hanya sekali, meskipun Maven seharusnya mengurus semua ini.

Sebagai contoh, saya memiliki global library atau core-core library, yang juga digunakan oleh globalmentor-google dan globalmentor-android (yang terakhir adalah perpustakaan Android). Di globalmentor-android pom.xmlsaya harus menandai ketergantungan sebagai "disediakan" serta dikeluarkan dari perpustakaan lain di mana ia dimasukkan secara transitif:

    <dependency>
        <groupId>com.globalmentor</groupId>
        <artifactId>globalmentor-core</artifactId>
        <version>1.0-SNAPSHOT</version>
        <!-- android-maven-plugin can't seem to automatically keep this from being
             included twice; it must therefore be included manually (either explicitly
             or transitively) in dependent projects -->
        <scope>provided</scope>
    </dependency>

Kemudian dalam aplikasi terakhir pom.xmlsaya harus menggunakan tipu daya yang tepat untuk memungkinkan hanya satu jalur inklusi --- dan juga tidak secara eksplisit termasuk perpustakaan inti:

    <!-- android-maven-plugin can't seem to automatically keep this from being
        included twice -->
    <!-- <dependency> -->
    <!-- <groupId>com.globalmentor</groupId> -->
    <!-- <artifactId>globalmentor-core</artifactId> -->
    <!-- <version>1.0-SNAPSHOT</version> -->
    <!-- </dependency> -->

    <dependency>
        <groupId>com.globalmentor</groupId>
        <artifactId>globalmentor-google</artifactId>
        <version>1.0-SNAPSHOT</version>
        <exclusions>
            <!-- android-maven-plugin can't seem to automatically keep this from
                being included twice -->
            <exclusion>
                <groupId>com.globalmentor</groupId>
                <artifactId>globalmentor-core</artifactId>
            </exclusion>
        </exclusions>
    </dependency>

    <dependency>
        <groupId>com.globalmentor</groupId>
        <artifactId>globalmentor-android</artifactId>
        <version>1.0-SNAPSHOT</version>
    </dependency>
Garret Wilson
sumber
Hal yang aneh bagi saya adalah bahwa <extractDuplicates>true</extractDuplicates>di android-maven-plugin memperbaiki masalah mvn installtetapi tidak untuk di mvn deploymana saya mendapatkan kesalahan yang dijelaskan ... benar-benar aneh
Karussell
5

Dalam hal ini

project-> properties-> java build path -> dalam urutan dan ekspor tab -> hapus centang android-support-v4.jar

Mufrah
sumber
5

Bersihkan proyek saja

Jika ini tidak berhasil coba solusi lain

Yassin
sumber
plus 1 untuk solusi sederhana
Shylendra Madda
Dan saya juga perlu me-restart Eclipse.
Dino Tw