외부 JAR에서“Dalvik 형식으로 변환하지 못했습니다. 오류 1”


908

Eclipse의 Android 애플리케이션에서 다음 오류가 발생합니다.

예외가없는 최상위 레벨 예외 :
java.lang.IllegalArgumentException : 이미 추가됨 : Lorg / xmlpull / v1 / XmlPullParser;
....
Dalvik 형식으로 변환하지 못했습니다. 오류 1

이 오류는 특정 외부 JAR 파일을 프로젝트에 추가 할 때만 나타납니다. 가능한 해결책을 오랫동안 찾았지만 가능한 해결책이 없습니다.

1.5 (현재 사용중인 버전) 대신 Android 1.6으로 변경하려고했습니다.


이 액티비티 는 작업 공간에서 라이브러리 프로젝트를 사용하는 경우이 오류를 해결하는 데 도움 될 수 있습니다.
Nguyen Minh Binh

4
나는 이것을 시도했고 같은 오류가 발생했습니다. 마지막으로 속성-> JavaBuildPath-> 프로젝트에 라이브러리를 추가하고 라이브러리를 추가하여 문제를 해결했습니다. "빌드 경로의 필수 개체 :"라고합니다.

27
이 문제는 나에게 잔인 해졌다. 안드로이드 코딩을 포기하는 것으로 충분합니다. 어떤 해결책도 나를 위해 작동하지 않습니다. Dalvik 오류 1로 실패한 내보내기를 계속 시도하면 결국 성공합니다. 릴리스 빌드를 작성하는 데 15-30 분이 걸립니다. 완전한 재앙입니다.
Anthony

파일 공유 소프트웨어를 사용하여 한 작업 공간에서 두 대의 컴퓨터를 사용하는 경우 작업 공간-> 프로젝트-> bin-> com 폴더를 com 1, com 2로 복제하는 경우가 있습니다. 1 또는 2로 모든 항목을 삭제하고 프로젝트를 정리하면 준비가됩니다 토고.
Ozan Atmar

답변:


826

프로젝트»속성»Java 빌드 경로»라이브러리로 이동하여 "Android XY"(제 경우에는 Android 1.5)를 제외한 모든 것을 제거하십시오. 확인을 클릭하십시오. 프로젝트»정리»아래에서 선택한 프로젝트 정리로 이동»프로젝트를 선택하고 확인을 클릭하십시오. 작동합니다.

프로젝트 폴더 어딘가에 JAR 파일이 있고 (Admob JAR 파일을 내 src 폴더에 복사했습니다) Java 파일 라이브러리로 파일을 추가했을 수도 있습니다. 패키지 탐색기에 표시되지 않으므로 눈에 띄지 않지만 두 번 계산되어 Dalvik 오류 1이 두려워집니다.

또 다른 가능한 이유는 패키지 이름 충돌 일 수 있습니다. 이 패키지 안에 패키지 com.abc.xyz와 클래스라는 이름 A.java이 있고 동일한이 포함 된 다른 라이브러리 프로젝트 (이 프로젝트의 종속성에 추가됨) com.abc.xyz.A.java가 있다고 가정하면 정확히 동일한 오류가 발생합니다. 즉, 동일한 파일에 대한 여러 참조가 있으며 A.java이를 제대로 빌드 할 수 없습니다.

다른 방법으로 실수로 또는 실수로 클래스 경로 파일의 항목을 수동으로 편집 / 추가하면이 문제가 발생할 수 있습니다. 경우에 따라 javadoc 생성을 위해 classpath 파일에 android.jar 경로를 수동으로 추가 할 수 있습니다. 코드가 제대로 작동합니다. 여전히 발생하는 경우이 항목도 확인하십시오.


4
나는 동일한 문제가 있었고 user408841의 위의 단계가 나를 위해 일했습니다.
Arunabh Das

112
안녕. "프로젝트»정리»아래에서 선택한 프로젝트 정리»프로젝트를 선택하고 확인을 클릭하여 해결하십시오." 첫번째 비트 무시
Kurru

79
이 솔루션과 혼동됩니다. 모든 jar 파일과 라이브러리를 제거하면 프로젝트를 어떻게 성공적으로 컴파일 할 것입니까?
Cheok Yan Cheng

3
이것이 나를 위해 일한 유일한 방법은 모든 프로젝트를 청소하는 것입니다! 특히 문제가되는 프로젝트에 의존하는 것들.
Roy Hinkley

7
나는 .NET에서 오는 안드로이드 개발에 익숙하지 않으며 솔직히 말하면이 오류는 그것에 대한 나의 경험을 요약합니다. 진심으로 ... 당신은 그 오류 메시지와 무슨 관계가 있습니까? 전혀 의미가 없습니다. '달빅'?? 당신은 무엇 ?? 비주얼 스튜디오로 다시 돌아
David Masters

271

나는 문제를 해결했다.

이것은 JAR 파일 충돌입니다.

내 빌드 경로에 동일한 패키지와 클래스를 포함하는 두 개의 JAR 파일이있는 것 같습니다.

smack.jarandroid_maps_lib-1.0.2

JAR 파일 중 하나에서이 패키지를 삭제하면 문제가 해결되었습니다.


18
+1-요약하면, 이것은 JAR 파일 충돌입니다. 특히,이에 충돌 될 수 있는 두 개의 JAR 파일. 필자의 경우, jackson-all-1.7.4.jar, jackson-core-asl-1.5.4.jar 및 jackson-mapper-asl-1.5.4.jar간에 충돌이 발생했습니다. 두 개의 1.5.4 JAR을 제거하고 1.7.4를 모두 그대로 두었습니다.
jmort253

ScoreloopUI프로젝트를 내 AndEngine 게임에 추가 한 방법과 같이 자신의 프로젝트에 추가 한 라이브러리 프로젝트에 jar 파일이있는 경우이 jar 파일은 자신의 프로젝트 빌드 경로에 있지 않더라도 사용자를 방해합니다.
pqn

1
.classpath에서 android-sdk / platforms / android-10 / android.jar을 수동으로 지정한 다음 프로젝트 속성에서 android.jar가 충돌하는 원인으로 프로젝트 속성에서 2.3.3 (Android 10)으로 변경되었습니다. 트릭 자바 빌드 경로에 추가했다 제거
styler1972

2
내 측면에서 충돌은 이미 git가 포함 된 안드로이드 지원 패키지를 포함하는 ActionbarSherlock에서 발생했습니다.
Tobias

그냥 정보 : 안드로이드 : 내 경우, 실패의 때문에, 그것은 다른 안드로이드 대상이 두 프로젝트에서 동일하지이었다이었다 targetSdkVersion을 = "XX"
안드레아스 Mattisson

126

Windows 7 솔루션 :


[Android SDK 설치 디렉토리] \ tools \ proguard \ bin \ proguard.bat 파일의 ProGuard 명령 줄로 인해 문제가 확인되었습니다.

다음 줄을 편집하면 문제가 해결됩니다.

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

call %java_exe% -jar "%PROGUARD_HOME%"\lib\proguard.jar %1 %2 %3 %4 %5 %6 %7 %8 %9

이것은 나를 위해 작동하지 않았지만 default.properties 파일에서 proguard 행을 주석 처리하면 오류가 사라졌습니다. 내 문제는 어떻게 든 지키는 것과 관련이있는 것 같습니다. 프로젝트를 내보내려고 할 때 "오류 1로 Dalvik 형식으로 변환하지 못했습니다"라는 메시지 만 표시되었습니다. 이견있는 사람?
벤 H

위의 제안을 다시 시도하고 LVL 라이브러리 프로젝트를 제거하고 다시 추가했는데 이제 작동합니다. 정확히 무엇을 고쳤는지 확실하지 않지만 작동합니다. 신에게 감사합니다. 나는 이것에 몇 시간을 낭비했다.
벤 H

Windows Vista와 이것은 나를 위해 일했습니다. 나는 이전에 SDK의 경로를 progra ~ 2로 변경하고, 재설치, 프로젝트 정리, 라이브러리 제거 및 수정 등을 시도했습니다 ... 노아 감사합니다!
Mudar

정말 감사합니다. Windows 7에서도 작동했습니다. ADT를 버전 12로 업데이트 한 후에 오류가 시작되었습니다.
Kevin

Windiws 7에서 내 문제를 해결했습니다.
poiuytrez

94

서명되지 않은 Android 애플리케이션을 내보내는 동안 메뉴> "프로젝트"> "자동 빌드"를 끄면이 문제를 쉽게 해결할 수 있습니다 (Eclipse Android 개발자 도구, 빌드 : v22.0.1-685705). 그 후에는 다시 켜는 것을 잊지 마십시오.


2
이것은 내 경우에 해결되었습니다. 문제는 그렇지 산발적으로하고 확실한 원인 (예 : 나쁜 병 또는 경로)없이 발생
더크 콘래드 Coetsee

이것은 나를 미치게했다! 나를 위해 일한 유일한 솔루션입니다. 왜 궁금해.
PrivusGuru

1
이것은 나를 위해 해결되었습니다. 다른 솔루션도 도움이되었을 수도 있지만 이것이 작동하기 전에 마지막 솔루션이었습니다.
pertz

나는 내가 찾을 수있는 모든 제안을 통해 4 시간을 보냈고 마침내 이것에 도달했습니다. 감사합니다-즉시 문제를 해결했습니다.
Squonk

매우 간단한 해결책이지만 작동합니다! 이클립스와의 몇 시간의 무의미한 싸움을 구했습니다. 더 복잡한 솔루션을 시도하기 전에 시도하십시오.
fragon

53

ADT 개정판 12+가있는 경우 여기에 설명 된대로 4.4-> 4.6에서 proguard를 업데이트해야합니다 . 또한 ... \ bin \ proguard.bat 파일을 원래 형식으로 남겨 두어야합니다.

웹에서 다운로드하고 다운로드 한 패키지의 lib 폴더를 다음으로 복사하십시오.

[Android SDK 설치 디렉토리] \ tools \ proguard \ lib


3
이것은 여러 ADT에서 내 문제였습니다. proguard JAR 다운로드 및 교체가 작동합니다.
Mr. S

와우, 고마워,이 문제를 해결해야했지만 경고도 해결해야했습니다. stackoverflow.com/q/4525661/38258
Nick Gotch

proguard 버전을 4.4에서 4.9로 변경 한 후에도 문제가 해결되지 않았습니다.
Hiren Patel

1
방금 4.7-> 4.11 (현재 최신 버전 : sourceforge.net/projects/proguard/files ) 에서 직접 수행해야했습니다 . 방금 이전 <sdk>/tools/proguard디렉토리의 이름을 바꾸고 압축이 풀린 전체 proguard4.11디렉토리를 이전 경로 로 옮겼습니다 . 짜잔! 이제 이전 시간 만 되돌릴 수 있다면 ... -_-
qix 2

1
감사! 이것은 내 문제를 올바르게 해결합니다. 내 문제는 SDK 관리자에서 내 SDK를 업데이트하고 proguard가 api 레벨 11과 함께 제공된 원래 버전으로 재설정되었을 때 발생합니다. proguard, jar을 최신 버전으로 업데이트 한 후. 그리고 작동합니다! 내 참조 : java.dzone.com/articles/my-reminder-how-fix-conversion
mmw5610

41

편집 (새 솔루션) :

이전 솔루션은 우회 일 것 같습니다. 마침내 문제를 영구적으로 해결했습니다. 제 경우에는 프로젝트와 프로젝트에서 참조하는 Facebook 프로젝트에서 android-support-v4 파일이 일치하지 않습니다.

Lint Check (Android 도구 / Run Lint : 일반적인 오류 확인)를 수행하여이 오류를 발견했습니다.

내 이전 솔루션 :

이 사이트에서 가능한 해결책을 시도했지만 아무것도 도움이되지 않았습니다 !!!

마지막으로 https://groups.google.com/forum/#!topic/actionbarsherlock/drzI7pEvKd4 에서 답변을 찾았습니다.

쉬운 단계 :

프로젝트로 이동-> 자동 빌드 선택 취소

프로젝트-> 정리 ...로 이동하여 라이브러리 프로젝트와 앱 프로젝트를 모두 정리하십시오.

자동 빌드가 여전히 비활성화 된 상태에서 앱을 서명 된 APK로 내보내기


당신은 ADT 이클립스 (23)를 사용하여 프로젝트 내 cocos2dx의 JS 나를 위해 일한 감사
snowflakes74

오류 : 알 수없는 옵션 '0409'인수 번호 1
이만 Marashi

30

다른 시나리오와 해결책은 다음과 같습니다.

Eclipse 용 ADT를 업데이트 한 후 최근에이 문제가 발생하는 경우 :

  1. 앱 프로젝트에서 라이브러리 프로젝트를 가리키는 연결된 소스 폴더가 있는지 확인하십시오 (이름은 "LibraryName_src"형식).
  2. 해당 프로젝트를 모두 선택하고 마우스 오른쪽 단추를 클릭 한 후 " 빌드 경로 "-> " 빌드 경로에서 제거 "를 선택 하십시오 .
  3. " 또한 프로젝트에서 폴더 연결 해제 "를 선택 하고 " "를 클릭하십시오 .
  4. 프로젝트를 정리, 재 구축 및 재배치하십시오.

이전 버전의 ADT가 라이브러리 프로젝트 소스 폴더를 "자식"프로젝트에 링크했으며 현재 ADT / Dex 조합이 더 이상 해당 솔루션과 호환되지 않기 때문입니다.

편집 :이, 안드로이드 개발자 블로그 항목에 의해 구체적으로 확인 이 하나 - 이후 8 항을 참조하십시오.


1
이것은 내 특정 문제에 대한 가장 유용한 답변 입니다. 정말 고맙습니다!!!
Bill The Ape

이것은 user408841의 높은 답이 아닌 내가 성공적으로 사용할 수있는 것입니다.
rics

29

프로젝트로 이동 한 다음 "자동으로 빌드"를 선택 해제 한 다음 프로젝트를 내보내려고하면 오류가 사라집니다.


27

Android.jarEclipse에서 실수로 빠른 수정으로 파일을 빌드 경로에 추가 한 경우에도 발생할 수 있습니다 . 프로젝트 -> 빌드 경로 -> 빌드 경로 구성 -> android.jar 을 마우스 오른쪽 단추로 클릭하여 제거하십시오.


25

이 오류가 발생할 때마다 프로젝트를 청소하는 것이 나에게 효과적이었습니다.


Eclipse를 다시 시작하고 프로젝트를 정리하고 + 수동 빌드를 수행했습니다.
dodgy_coder

청소가 나를 위해 일했습니다 .... 그래서 실제 전화에서 실행중인 디버그 빌드가 있고 내보내기를 해제 하고이 오류가 표시되면 모든 프로젝트를 먼저 청소하십시오.
lepert

16

모든 솔루션을 4 시간 동안 테스트 한 후 오늘 내가 찾은 유일한 솔루션은 다음과 같은 여러 솔루션의 조합입니다.

  • Delete 이클립스에서 프로젝트
  • 에서 파일 삭제 \bin\gen프로젝트 폴더에서
  • .classpath루트 프로젝트 폴더의 파일 로 라이브러리에 대한 참조 제거
  • 명령 행을 사용하여 Eclipse를 다시 시작하십시오. eclipse -clean
  • Import 계획
  • 프로젝트를 마우스 오른쪽 클릭 - 선택 Properties> Java Build Path> Libraries와보다 다른 모든 것들을 제거Android XX.Y
  • 마지막으로 clean프로젝트, 자동 건물 또는 대기 Build그것
  • 발사하고 지금 작동합니다! 적어도 나에게는...

나는 한 번에 모든 단계와 많은 조합을 시도했지만 한 번에 모든 단계의 연속 만이 이루어졌습니다! 다시는이 문제에 직면하지 않기를 바랍니다.


익명의 사용자로부터 이것이 비참한 결과를 초래했다는 경고가있었습니다. 자신의 위험을 감수하십시오!
PaulG

그것은 나를 위해 작동하지만 나는하지 않았다 : "eclipse -clean"및 라이브러리를 제거하지 않았다.
NicoMinsk

bin폴더를 삭제하면 나에게 도움이되었습니다.
boltup_im_coding 18

14

여전히이 문제가 있고 위의 답변을 시도했지만 여전히 오류가 발생하는 다른 사람들을 위해 (내 경우) 내 솔루션은 Eclipse에서 프로젝트를 삭제하고 다시 가져 오는 것입니다.

이렇게하면 Android 라이브러리가 참조 라이브러리에 다시 추가되었으므로 이제 두 개의 Android JAR 파일이 참조되었으므로 그 중 하나를 삭제하면 정상적으로 컴파일됩니다.

솔루션 : Eclipse IDE에서 프로젝트를 삭제 한 후 다시 가져 와서 위의 솔루션을 확인하십시오.


감사! 이것은 처음부터 도움이되었습니다.
herbertD

10

오늘이 문제에 직접 부딪 쳤습니다. 청소 및 재 구축으로도 문제가 해결되지 않았습니다. 프로젝트를 삭제하고 다시 가져 오는 것도 도움이되지 않았습니다.

나는 마침내 그것을 내 .class 파일에 대한 나쁜 추가로 추적했다. 다른 문제를 해결하려고 할 때 플러그인 도구에 의해 추가되었다고 생각합니다. "Dalvik 형식으로 변환하지 못했습니다. 오류 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>


9

나를 위해 추가 JAR 참조가 빌드 경로에 나타났습니다. 나는 이것을 삭제했고 지금 작동합니다.


8

내 문제는 ADT 버전 12.0 및 ProGuard 통합으로 인해 발생했습니다. 이 버그는 잘 문서화되어 있으며 솔루션은 설명서에 있습니다.

해결책은 여기에 있습니다

ProGuard 명령 줄


감사합니다 Croc, 나는 버그가 잘 문서화되어 있다고 생각하지 않습니다-해결책을 찾기 위해 한 시간을 찾은 후에는 그것을 찾지 못했습니다.
케빈

당신은 아마 쓸 것입니다-문제는 단일 오류 메시지가 너무 많은 원인을 가지고 있다는 것입니다. 사용자가 문제를 설명하는 데 도움이되는 메시지가 더 있어야합니다. 내가 문제가 발생했을 때 문제를 해결하는 데 이틀이 걸렸다는 사실에 위안을 얻을 수 있습니다 ...
Croc

링크 된 버그 토론 페이지의 주석 11은 여기에서 문제를 해결했습니다. 빌드 출력을 Verbose로 설정하고 (창> 환경 설정> Android> 빌드에서) 컴파일러가 사용하지만 거기에 있으면 안되는 JAR 또는 클래스를 찾으십시오. 그것들을 제거하십시오. 다시 아무 문제없이 빌드를 경험하십시오.
Giulio Piancastelli

8

내 프로젝트에서 Sherlock ActionBar 라이브러리를 사용할 때이 문제를 해결했습니다. 다음 단계를 수행 할 수 있습니다.

  1. 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 속성을 선택하십시오.
  2. 대화 상자가 나타나면 왼쪽 메뉴에서 'Java 빌드 경로'를 선택하십시오.
  3. 오른쪽 패널에서 'Android 의존성'및 'Android 개인 라이브러리'를 제거한 다음 확인을 클릭하십시오.
  4. 프로젝트를 정리하십시오 (메뉴-> 정리 메뉴 선택).
  5. 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 Android 도구-> 프로젝트 속성 수정을 선택하십시오.
  6. 다시 한 번 프로젝트를 청소하십시오.
  7. 컴퓨터를 다시 시작하십시오
  8. 이클립스 열기 및 내보내기 APK

희망이 당신을 도울 것입니다.


그들의 오류 메시지가 더 구체적으로 지정되어야합니다. 당신은 내 시간을 절약합니다. 감사.
teapeng

7

제 경우에는 실제로 OpenFeint API 프로젝트에 문제가 있습니다. 라이브러리 프로젝트로 OpenFeint를 추가했습니다.

라이브러리 프로젝트]! [1]! [여기에 이미지 설명 입력.

또한 ADT 도구 16이 빌드 경로에 추가되어이 시나리오에서 오류가 발생합니다.

프로젝트를 마우스 오른쪽 버튼으로 클릭하고 빌드 경로를 클릭하고 빌드 경로를 구성 한 다음 이미지를보고 프로젝트에서 OpenFeint를 제거하면 모든 작업이 완료됩니다.)

여기에 이미지 설명을 입력하십시오


7

나는 다른 것을 발견했다. Android는 /libsJAR 파일 용 디렉토리를 사용 합니다. JAR 파일에서 실수를 할 때 "Dalvik 형식으로 변환하지 못했습니다. 오류 1"오류가 여러 번 발생했습니다.

이제 /libs디렉토리 에 새 JAR 파일을 넣고 클래스 경로를 새 버전으로 전환하여 Roboguice를 최신 버전으로 업그레이드했습니다 . 이로 인해 Dalvik 오류가 발생했습니다.

/libs폴더 에서 Roboguice JAR 파일 중 하나를 제거 하면 오류가 사라졌습니다. 분명히 Android는 /libsJava 빌드 경로에서 지정한 파일 에 관계없이 에서 모든 JAR 파일을 선택합니다 . 정확히 기억하지는 않지만 Android 4.0 (ICS 아이스크림 샌드위치) /libs부터 Android 가 기본적으로 사용되기 시작했다고 생각 합니다.


7

Proguard를 최신 버전으로 업데이트하면 문제가 해결되었습니다.

  • 내 보호 경로는 C:\Program Files (x86)\Android\android-sdk\tools\proguard\
  • 여기 에서 새 버전을 다운로드했습니다
  • bin 및 lib 폴더를 모두 바꿨습니다.

하나님 감사합니다!


7

일반적으로 빌드 경로에 불필요한 JAR 파일이있는 경우이 문제가 발생합니다.

IntelliJ IDEA 작업 중이 문제에 직면했습니다 . 나를 위해 런타임에 컴파일되는 JUnitMockito 라이브러리를 추가했기 때문에 발생했습니다 . 모듈 속성에서 "테스트"로 설정해야했습니다.


"일반적으로이 문제는 빌드 경로에 불필요한 항아리가있을 때 발생합니다." 불필요한 jar 파일을 삭제 한 후 오류가 사라졌습니다. :)
surendran 2016 년

6

이전에 제안 된 솔루션 중 어느 것도 나를 위해 일하지 않았습니다. 필자의 경우 라이브러리 소스 코드 폴더 참조에서 라이브러리 JAR 파일 사용으로 전환했을 때 문제가 발생했습니다. 처음에는 Android 애플리케이션 프로젝트 특성 \ Android 페이지 \ 라이브러리 섹션 아래에 Android 라이브러리 프로젝트가 나열되었으며 라이브러리는 프로젝트 탐색기 트리에서도 라이브러리 소스 디렉토리에 대한 링크로 비교되었습니다.

먼저 프로젝트 트리에서 디렉토리 링크를 삭제하고 JAR 라이브러리를 빌드 경로에 추가했지만 예외가 발생했습니다.

올바른 절차는 (빌드 경로를 변경하고 라이브러리 소스에 대한 참조를 다시 넣은 후) 다음과 같습니다.

  • 실제로 응용 프로그램 프로젝트 Properties \ Android 페이지에서 참조를 제거하여 라이브러리 소스 디렉토리 링크를 올바르게 제거하십시오.

  • 평소와 같이 라이브러리 JAR을 애플리케이션 프로젝트 빌드 경로에 추가합니다.


6

나열된 솔루션 중 어느 것도 나를 위해 일하지 않았습니다.

여기에 문제가 발생했습니다.

jSoup 외부 JAR 파일을 먼저 "libs"라는 소스 폴더에 저장 한 다음 빌드 경로 -> 빌드 경로에 추가를 마우스 오른쪽 단추로 클릭하여 프로젝트 경로에 추가했습니다. 이로 인해 Dalvik 변환 오류가 발생했습니다. 해당 JAR 파일에서 클래스를 "이미 포함했다"고합니다. 나는 프로젝트의 디렉토리를 둘러보고 "이미 포함 된"곳이 실제로 bin디렉토리 라는 것을 알았다 . bin디렉토리 에서 JAR 파일을 삭제하고 Eclipse에서 프로젝트를 새로 고치면 오류가 사라졌습니다!


5

위의 모든 솔루션이 효과가 없었습니다. 사전 컴파일 된 .jar을 사용하지 않습니다. 마켓 라이센싱 라이브러리와 관련된 LVL 및 Dalvik 오류를 사용하고 있습니다.

주 프로젝트를 삭제하고 다시 가져 와서 (기존 소스에서 새 프로젝트를 작성) 문제가 해결되었습니다.


5

나는 같은 문제가 있었고이 해결책들 중 어느 것도 효과가 없었다. 마지막으로 콘솔에서 오류가 클래스 중복 (기존 프로젝트의 하나, 추가 된 jar 파일의 하나)으로 인한 것임을 콘솔에서 보았습니다.

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

따라서 프로젝트에서 클래스가 중복 된 jar을 추가하고 있는지 확인하십시오. 그렇다면 그 중 하나를 제거하십시오.

그것은 나를 위해 일했다.



5

종종 프로젝트를 청소해도이 문제가 해결되지는 않습니다.

그러나 Eclipse에서 프로젝트를 닫았다가 다시 열면이 경우 수정되는 것 같습니다 ...


1
저에게도 Eclipse를 닫고 다시 시작하면 일반적으로 해결됩니다. 그런 다음 시도하지만 두 번째 내보내기를 수행 할 수 없으므로 다시 시작해야합니다.
Ted

5

이 문제가 발생했지만 해결책은 두 가지였습니다. 1.) 프로젝트 -> 속성 -> Android 아래에 Android 대상 버전을 추가해야했습니다 . 2.) 나는 모든 구글 '타사 애드온'을 가지고 있지 않았다. 사용 가능한 패키지 -> 타사 애드온 -> Google Inc 에서 AVD SDK 관리자를 클릭하십시오 . 모든 SDK를 다운로드했으며 문제가 해결되었습니다.


내 솔루션은 @THE_DOM 솔루션과 거의 동일했습니다. 프로젝트를 마우스 오른쪽 단추로 클릭하고 Android 도구를 선택한 다음 호환성 라이브러리 추가를 선택하십시오. 이 "타사 애드온"이없는 경우 (THE_DOM의 솔루션) 다운로드하지만 프로젝트에 추가합니다. 이 솔루션이 단순한 위약인지 아닌지는 아직 밝혀지지 않았습니다. :)
Chris

5

Android 1.6을 사용하고 있으며 외부 JAR 파일이 하나 있습니다. 나를 위해 일한 것은 모든 라이브러리를 제거하고 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 Android Tools- > * Fix Project Properties (Android 1.6을 다시 추가)를 선택한 다음 외부 JAR 파일을 다시 추가 하는 것이 었습니다 .


5

이 문제는 Eclipse의 Android-Maven 플러그인이 분명히 두 개의 프로젝트 (Android 라이브러리 프로젝트 포함)에서 두 번 참조 된 전이 참조 및 참조를 인식하지 못하여 두 번 이상 포함했기 때문에 발생했습니다. Maven 이이 모든 것을 처리해야하지만 모든 것을 한 번만 포함하려면 hocus-pocus를 사용해야했습니다.

예를 들어, 핵심 라이브러리 globalmentor-core가 있는데 globalmentor-google 및 globalmentor-android (후자는 Android 라이브러리 임)에서 사용되었습니다. globalmentor-android에서 pom.xml나는 의존성을 "제공됨"으로 표시하고 전 이적으로 포함 된 다른 라이브러리에서 제외해야했습니다.

    <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>

그런 다음 최종 응용 프로그램 에서 핵심 라이브러리를 명시 적으로 포함 하지 않고pom.xml 포함 경로 하나만 허용하려면 올바른 속임수를 사용해야했습니다 .

    <!-- 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>

이상한 점 <extractDuplicates>true</extractDuplicates>은 android-maven-plugin에서 문제를 해결 mvn install했지만 mvn deploy설명 된 오류가 발생한 곳이 아니라는 것입니다 ... 정말 이상한
Karussell

5

나의 경우에는

프로젝트-> 속성-> Java 빌드 경로-> 순서 및 내보내기 탭-> android-support-v4.jar 선택 취소


5

그냥 프로젝트를 청소하십시오

이것이 작동하지 않으면 다른 해결책을 시도하십시오


간단한 해결책을 위해 1을 더한 것
Shylendra Madda

또한 Eclipse를 다시 시작해야합니다.
디노 Tw
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.