2011-11-14 41 views
5

Sau khi cập nhật SDK và ADT cho phiên bản mới nhất, tôi đã cố gắng để chạy ứng dụng của tôi và Eclipse đăng nhập được lỗi sau:chuyển đổi sang định dạng Dalvik thất bại với lỗi 1 - Sau khi cập nhật Android SDK & ADT

[- RichReaderDemo] Dx 
UNEXPECTED TOP-LEVEL EXCEPTION: 
java.lang.IllegalArgumentException: already added: Lbr/com/digitalpages/renderer/NewReaderActivity; 
[- RichReaderDemo] Dx at com.android.dx.dex.file.ClassDefsSection.add(ClassDefsSection.java:123) 
[- RichReaderDemo] Dx at com.android.dx.dex.file.DexFile.add(DexFile.java:163) 
[- RichReaderDemo] Dx at com.android.dx.command.dexer.Main.processClass(Main.java:486) 
[- RichReaderDemo] Dx at com.android.dx.command.dexer.Main.processFileBytes(Main.java:455) 
[- RichReaderDemo] Dx at com.android.dx.command.dexer.Main.access$400(Main.java:67) 
[- RichReaderDemo] Dx at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:394) 
[- RichReaderDemo] Dx at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:245) 
[- RichReaderDemo] Dx at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:131) 
[- RichReaderDemo] Dx at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:109) 
[- RichReaderDemo] Dx at com.android.dx.command.dexer.Main.processOne(Main.java:418) 
[- RichReaderDemo] Dx at com.android.dx.command.dexer.Main.processAllFiles(Main.java:329) 
[- RichReaderDemo] Dx at com.android.dx.command.dexer.Main.run(Main.java:206) 
[- RichReaderDemo] Dx at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
[- RichReaderDemo] Dx at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
[- RichReaderDemo] Dx at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
[- RichReaderDemo] Dx at java.lang.reflect.Method.invoke(Method.java:616) 
[- RichReaderDemo] Dx at com.android.ide.eclipse.adt.internal.build.DexWrapper.run(DexWrapper.java:179) 
[- RichReaderDemo] Dx at com.android.ide.eclipse.adt.internal.build.BuildHelper.executeDx(BuildHelper.java:729) 
[- RichReaderDemo] Dx at com.android.ide.eclipse.adt.internal.build.builders.PostCompilerBuilder.build(PostCompilerBuilder.java:602) 
[- RichReaderDemo] Dx at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:629) 
[- RichReaderDemo] Dx at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) 
[- RichReaderDemo] Dx at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:172) 
[- RichReaderDemo] Dx at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:282) 
[- RichReaderDemo] Dx at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:363) 
[- RichReaderDemo] Dx at org.eclipse.core.internal.resources.Project$1.run(Project.java:545) 
[- RichReaderDemo] Dx at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1975) 
[- RichReaderDemo] Dx at org.eclipse.core.internal.resources.Project.internalBuild(Project.java:524) 
[- RichReaderDemo] Dx at org.eclipse.core.internal.resources.Project.build(Project.java:123) 
[- RichReaderDemo] Dx at com.android.ide.eclipse.adt.internal.project.ProjectHelper.build(ProjectHelper.java:869) 
[- RichReaderDemo] Dx at com.android.ide.eclipse.adt.internal.launch.LaunchConfigDelegate.launch(LaunchConfigDelegate.java:146) 
[- RichReaderDemo] Dx at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:853) 
[- RichReaderDemo] Dx at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:702) 
[- RichReaderDemo] Dx at org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(DebugUIPlugin.java:923) 
[- RichReaderDemo] Dx at org.eclipse.debug.internal.ui.DebugUIPlugin$8.run(DebugUIPlugin.java:1126) 
[- RichReaderDemo] Dx at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) 
[- RichReaderDemo] Dx 
UNEXPECTED TOP-LEVEL EXCEPTION: 
java.lang.IllegalArgumentException: already added: Lbr/com/digitalpages/commons/activity/LoadingActivity; 
[- RichReaderDemo] Dx at com.android.dx.dex.file.ClassDefsSection.add(ClassDefsSection.java:123) 
[- RichReaderDemo] Dx at com.android.dx.dex.file.DexFile.add(DexFile.java:163) 
[- RichReaderDemo] Dx at com.android.dx.command.dexer.Main.processClass(Main.java:486) 
[- RichReaderDemo] Dx at com.android.dx.command.dexer.Main.processFileBytes(Main.java:455) 
[- RichReaderDemo] Dx at com.android.dx.command.dexer.Main.access$400(Main.java:67) 
[- RichReaderDemo] Dx at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:394) 
[- RichReaderDemo] Dx at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:245) 
[- RichReaderDemo] Dx at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:131) 
[- RichReaderDemo] Dx at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:109) 
[- RichReaderDemo] Dx at com.android.dx.command.dexer.Main.processOne(Main.java:418) 
[- RichReaderDemo] Dx at com.android.dx.command.dexer.Main.processAllFiles(Main.java:329) 
[- RichReaderDemo] Dx at com.android.dx.command.dexer.Main.run(Main.java:206) 
[- RichReaderDemo] Dx at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
[- RichReaderDemo] Dx at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
[- RichReaderDemo] Dx at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
[- RichReaderDemo] Dx at java.lang.reflect.Method.invoke(Method.java:616) 
[- RichReaderDemo] Dx at com.android.ide.eclipse.adt.internal.build.DexWrapper.run(DexWrapper.java:179) 
[- RichReaderDemo] Dx at com.android.ide.eclipse.adt.internal.build.BuildHelper.executeDx(BuildHelper.java:729) 
[- RichReaderDemo] Dx at com.android.ide.eclipse.adt.internal.build.builders.PostCompilerBuilder.build(PostCompilerBuilder.java:602) 
[- RichReaderDemo] Dx at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:629) 
[- RichReaderDemo] Dx at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) 
[- RichReaderDemo] Dx at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:172) 
[- RichReaderDemo] Dx at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:282) 
[- RichReaderDemo] Dx at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:363) 
[- RichReaderDemo] Dx at org.eclipse.core.internal.resources.Project$1.run(Project.java:545) 
[- RichReaderDemo] Dx at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1975) 
[- RichReaderDemo] Dx at org.eclipse.core.internal.resources.Project.internalBuild(Project.java:524) 
[- RichReaderDemo] Dx at org.eclipse.core.internal.resources.Project.build(Project.java:123) 
[- RichReaderDemo] Dx at com.android.ide.eclipse.adt.internal.project.ProjectHelper.build(ProjectHelper.java:869) 
[- RichReaderDemo] Dx at com.android.ide.eclipse.adt.internal.launch.LaunchConfigDelegate.launch(LaunchConfigDelegate.java:146) 
[- RichReaderDemo] Dx at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:853) 
[- RichReaderDemo] Dx at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:702) 
[- RichReaderDemo] Dx at org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(DebugUIPlugin.java:923) 
[- RichReaderDemo] Dx at org.eclipse.debug.internal.ui.DebugUIPlugin$8.run(DebugUIPlugin.java:1126) 
[- RichReaderDemo] Dx at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) 
[- RichReaderDemo] Dx 2 errors; aborting 
[- RichReaderDemo] Conversion to Dalvik format failed with error 1 

Trả lời

12

Tôi chạy vào vấn đề này sau khi cập nhật cho phiên bản ADT và SDK tháng 10 năm 2011 r15. Dự án của tôi sử dụng 3 dự án làm thư viện, vì vậy có rất nhiều sự phụ thuộc lẫn nhau giữa các dự án. Lỗi này xuất hiện (tôi tin) khi công cụ xây dựng thấy cùng một đối tượng được xác định nhiều lần. Tôi đoán là Google đã thay đổi cách tham chiếu thư viện hoạt động, vì vậy thiết lập dự án cũ của tôi không còn hợp lệ nữa.

Tôi đã cố gắng làm rối tung thư viện của dự án và tạo cài đặt đường dẫn, nhưng tôi không thể làm cho bản dựng ổn định. Các giải pháp tôi đưa ra là:

  1. Đóng Eclipse
  2. Tạo một bản sao lưu của không gian làm việc
  3. Xóa các tập tin .project và classpath trong từng dự án
  4. mở một không gian làm việc mới trong Eclipse
  5. Thêm lại dự án bằng cách sử dụng trình hướng dẫn Dự án Android mới (chọn "Tạo dự án từ nguồn hiện có"). Lưu ý: Điều này khác với việc nhập dự án hiện có.

Sau khi tôi thiết lập phụ thuộc thư viện trong không gian làm việc mới, mọi thứ được biên dịch tốt. Tôi đã có rất nhiều cài đặt mà tôi không muốn mất, vì vậy tôi đã sao chép các tệp .project và .classpath đã được khôi phục vào không gian làm việc ban đầu của tôi và nó đã hoạt động tốt cho tôi cho đến nay.

+1

Cách tiếp cận tương tự cũng giải quyết cho tôi (tạo dự án mới) –

+0

Có, nhận xét của bạn gọn gàng hơn nhiều: "Tạo dự án mới" :) –

+0

Đã lưu tôi !!! Cảm ơn bạn! – marienke

4

Tôi nghĩ bạn nên làm sạch dự án và xây dựng lại nó, giải quyết nó cho tôi.

0

thử android update project

khi bạn sử dụng một số libs từ không gian làm việc có thể bạn phải xóa liên kết-hàng để họ trong dự án -> Properties -> Java Build Path -> Nguồn

2

Giải pháp là:

1) Xóa dự án (không xóa nội dung dự án khỏi đĩa).
2) Xóa các tệp .project.classpath trong dự án.
3) Tạo dự án mới với src hiện tại (Create project from existing source)

0

Tôi đã có một cửa sổ cmd mở trong bin/dexedlibs và khi tôi cd để phụ huynh (bin), mà giải quyết vấn đề đối với tôi. Vì vậy, nó có vẻ là lỗi xây dựng rất tinh tế. Trong suốt quá trình làm sạch, trình xây dựng sẽ loại bỏ thư mục dexedlib và có lẽ nó bị lỗi trong rmdir cũng sẽ gây ra lỗi này.

2

Nếu điều này xảy ra trong quá trình xuất, hãy xóa các tệp có trong thư mục bin của dự án của bạn. và khởi động lại xuất. trong vòng chưa đầy 30 giây được giải quyết

0

Tạo dự án mới là không cần thiết.

Chỉ cần xóa thư mục gen và bin và nhấn sạch dự án.

1

Đi tới Project-> Properties-> Java Build Path-> Thư viện và xóa tất cả ngoại trừ "Android X.Y" (trong trường hợp của tôi là Android 5.0.1), Bạn có thể giữ phụ thuộc Android (nếu nó không chứa bất kỳ tập tin jar xung đột). Làm tương tự cho đơn đặt hàng và xuất khẩu (trong Project-> Properties-> Java Build Path-> Order and export). Nhấp vào OK. Làm sạch dự án. Nó sẽ giải quyết vấn đề. Nó được gây ra do các vấn đề xung đột jar.

Các vấn đề liên quan