source

덱스를 실행할 수 없음: 여러 덱스 파일에 의해 정의됩니다.

nicesource 2023. 1. 28. 09:34
반응형

덱스를 실행할 수 없음: 여러 덱스 파일에 의해 정의됩니다.

이 질문은 전에도 몇 번 한 적이 있는 것으로 알고 있습니다.하지만 저는 아직 가능한 해결책을 보지 못했습니다.프로젝트를 'Run as Android Application'으로 만들기 전에 청소하지 않으면 다음 오류가 발생하여 이클립스를 재시작하고 다시 청소해야 합니다.

Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define
     Lcom/jstun/core/attribute/MessageAttributeInterface;

com.jstun.core...SRC 폴더의 일부입니다.물론 삭제할 수 없습니다.또한 해당 패키지를 제거해도 다음과 같은 오류로 다른 패키지가 표시됩니다.

Unable to execute dex: Multiple dex files define
     Landroid/support/v4/app/ActivityCompatHoneycomb;

이 에러는 ADT 15로 업데이트 된 이후부터 보고 있습니다. Ubuntu에서 Eclipse Galileo를 사용하고 있습니다.알고 계십니까?답장 감사합니다!

빌드 경로 문제입니다.

  • bin 폴더가 빌드 경로에 포함되어 있지 않은지 확인합니다.

  • 프로젝트를 우클릭 -> 속성 -> 빌드 경로로 이동합니다.

  • 가 허니콤에 합니다.libs/폴더는 원본 폴더에 없습니다.

  • in 」에 합니다.libs/빌드 패스에 개별적으로 배치됩니다.

    그 때, 그 때, 그 때, 그 때 오는 것이 .android-support-v4허니콤 지원 라이브러리 대신 아이스크림 샌드위치 지원을 받을 수 있습니다.

오늘 비슷한 오류가 발생했는데, 그 이유는 지원 라이브러리가 내 앱 프로젝트에서 사용하는 두 가지 라이브러리 프로젝트에서 참조되었지만 버전이 달랐기 때문입니다.

상세:내 앱은 2개의 라이브러리 프로젝트에 의존합니다.

  • 페이스북SDK 3.0 -> Android-support-v4를 참조하는
  • ActionBarSherlock -> 。이것은 Android-support-v4를 참조하고 있지만 맵을 지원하도록 버전이 변경되었습니다.

그 문제를 해결하기 위해 나는 페이스북을 만들어야 했다.SDK 라이브러리는 지원 라이브러리 대신 ABS 라이브러리에 직접 의존합니다.

음, 저는 안드로이드 지원 v4.jar라는 libs 폴더에서 파일을 삭제했고 모든 것이 잘 해결되었습니다.Good Luck :)

같은 에러가 발생해, 고칠 때마다, 이클립스를 재기동하면 다시 표시됩니다.

우선 다른 사람들이 말했듯이 프로젝트 주변에 동일한 .jar 파일의 복사본이 여러 개 있지 않도록 하십시오.

저 같은 경우에는 (다른 라이브러리 프로젝트 중에서도) ActionBarSherlock을 사용한 메인 프로젝트가 있었습니다.은 에에에 들어가는 이었다.ActionBarSherlock --> Properties --> Java Build path --> Order of Export[Android Private Libraries리고로 .Project -> Clean이제 프로젝트를 올바르게 구축할 수 있게 되었습니다.

어떤 이유에서인지 이클립스를 재시작할 때마다 이 체크박스가 자동으로 활성화되므로 이 과정을 다시 반복해야 합니다.

이것이 잃어버린 영혼에 도움이 되기를 바랍니다:)

Project/Properties 및 Java Built Path로 이동하여 Android Private Libraries(안드로이드 개인 라이브러리)의 선택을 취소합니다.

Project Properties >> Java Build Path >> Order and Export 순으로 이동합니다.이미지가 아래로 이동하면 모든 외부 라이브러리의 선택을 취소합니다.저는 좋아요.이게 도움이 됐으면 좋겠다.

프로젝트 속성

저는 제 프로젝트에서도 이 문제에 직면해 왔습니다.AVD, lib, res의 덱스를 실행할 수 없습니다. : DexLoader ]여러 정의되어 있습니다.Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat$AccessibilityServiceInfoVersionImpl.

그리고 나서, 나는 새로운 프로젝트를 만들고 복사했다.MainActivity.java ,activity_main.xml콘텍스트. , , 「」를 참조해 주세요.그런 다음 패키지 탐색에서 오래된 프로젝트를 삭제하고 Eclipse 및 AVD를 재시작합니다. 합니다:) : : : : : : : : : : : : : : : : : : : : : :

저도 같은 문제가 있어요.제가 시도한 건

  1. 목록 항목
  2. 프로젝트 빌드 경로를 엽니다.
  3. 라이브러리 탭을 선택합니다.
  4. Android 라이브러리를 제외한 모든 라이브러리 제거
  5. 필요한 모든 JAR 파일 추가,
  6. 완료!

난 괜찮아, 고마워.

만약 여러분 중 몇 명이 페이스북 접속 플러그인으로 이 문제를 겪고 있다면

bin/class/com/syslogs/syslog 디렉토리의 파일을 삭제하고 재구축해 보겠습니다.

다른 사용자가 언급한 것처럼 빌드 경로 또는 설정의 다른 위치에 동일한 클래스의 복사본이 여러 개 있을 때 발생합니다.

저는 libs/폴더에 Android-support-v4.jar를 추가했는데, 어쩌다 보니 이클립스가 bin/classes/android-support-v4.jar에 두 번째 복사본을 추가했습니다.

이 테스트에는

grep - r YourOffending ClassName YourApp | grep jar

bin/classes에서 추가 복사본을 삭제하면 Eclipse에서 복사본을 만든 이유를 알 수 없는 문제가 해결되었습니다.

다른 이유로 이 오류가 발생하였습니다.v4와 v13 지원 라이브러리를 모두 추가하는 실수를 했습니다.minSdkVersion이 15이기 때문에 이 작업은 저에게 필요하지 않았습니다.

v13 지원 라이브러리만 포함하여 수정했습니다.또한 내보내기된 라이브러리 빌드 경로에 있는 라이브러리를 일식으로 표시해야 합니다.저도 맨 위로 옮겼어요.

여러 번 대답했는데도 아무런 해결책이 나오지 않았다.

빌드 경로에서 "Android Dependencies"를 삭제했습니다.빌드 경로에 모든 jar 파일을 다시 추가했더니 오류가 사라졌습니다.어쩐지 일식이 물건들을 숨겨놓은 것 같았어.

나처럼 이 시나리오에 들어가는 사람을 위해 이 답을 남길 거야.

여기저기 비틀거리다가 실수로 Support Library JAR 파일을 src 폴더에 끌어다 놓은 것을 알게 되었습니다.어떻게 그런 일이 일어났는지, 언제 떨어뜨렸는지 전혀 몰랐기 때문에, 나는 그곳에 무엇이 잘못되었는지 상상도 할 수 없었다.

같은 에러가 발생하고 있어, 잠시 후에 문제를 발견해, 삭제했습니다.프로젝트는 정상적으로 진행되고 있습니다.

이 솔루션은 다음과 같은 작업을 수행하는 것이었습니다.

  1. -> 프로젝트의 lib 디렉토리 및 여러 요소를 삭제합니다.
  2. Project -> Properties -> Java 빌드 경로 및 의존관계 라이브러리 삭제는 사용자가 아닌 자동으로 추가되었습니다.
  3. Eclipse IDE 재시작
  4. 이제 프로젝트를 청소합니다.
  5. 디바이스에서 실행/디버깅/프로젝트 에뮬레이터...행운을 빌어요

처음에는 문제가 있었어요.

dex: java.nio를 실행할 수 없습니다.버퍼 오버플로우예외.스택 트레이스의 이클립스 로그를 확인합니다.

1) 프로젝트 오른쪽 클릭 -> Android 툴 -> 지원 라이브러리 추가 (앱 실행...동작하지 않았기 때문에 계속 진행됩니다.) 2) 프로젝트를 다시 오른쪽 클릭합니다.-> 속성 -> Android -> 프로젝트 빌드 타깃에서 Android 4.1.2(16)를 확인합니다(앱을 다시 실행합니다).다음 정보를 얻을 수 있습니다.

덱스를 실행할 수 없음: 여러 덱스 파일이 Landroid/support/v4/app/BackStackState를 정의합니다.

3) 그래서 프로젝트의 'lib' 폴더가서 '오래된' Android를 삭제했습니다.support.library.jar (앱을 실행하고 손가락을 교차시켜...)

효과가 있다!

도움이 됐으면 좋겠는데...감사합니다 여러분!

같은 라이브러리가 여러 번 로드되지만 시스템이 같은 이름과 같은 패키지 이름을 가진 클래스를 동시에 로드하려고 하는 것은 아닙니다.

  • com.pack1.de ★★★★★★★★★★★★★★★★★」Class Geometrylibrary1.jar

그리고 또 하나

  • com.pack1.de ★★★★★★★★★★★★★★★★★」Class Geometrylibrary2.jar.

어떻게 접근해야 할까요?library1.jar 또는 library2 중 어떤 메서드가 사용되고 있는지 분석해야 합니다.

솔루션에는 2가지가 있습니다.

  1. packagename과 dalvik 인터프리터의 이름을 바꿉니다.이러한 클래스는 다른 클래스입니다.
  2. 위험을 감수하고 싶으면, 우리가 실제로 사용하는 메토드가 들어있지 않은 클래스를 제거하세요.

나는 그것이 이 자주 묻는 질문을 명확히 해 주길 바란다.

빌드 경로에서 Android 종속성을 제거했고 작동했습니다.

이 오류는 앱 프로젝트에서 Eclipse 워크스페이스에서 라이브러리 프로젝트(내 경우 Facebook SDK)를 참조하면서 동시에 Facebook SDK를 libs 폴더에 jar로 포함시켰을 때 발생했습니다.라이브러리 참조를 삭제했지만 libs 폴더에 jar를 보관하면 오류가 삭제된다.

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★하지 않을 수 없었습니다..apk츠키노

저는 lib 폴더에서 Android-support-v4.jar를 삭제하고 빌드 경로에서도 삭제했습니다.

  • 오른쪽 버튼으로 하고 ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★」으로 이동합니다.build Path>configuration build path
  • [] 탭을 하고 [를 합니다.support-v4 library[삭제]를 합니다.
  • [확인] 을 클릭합니다.

프로젝트를 청소하고 실행합니다:-)

내가 방금 한 것처럼 이 문제에 대해 다른 누군가가 머리를 부딪칠 경우를 대비해서:

내 사건은 일련의 도서관 프로젝트와 관련되어 있었다.모든 라이브러리에서 프로젝트를 깔끔하게 수행하는 것만으로 모든 것이 해결되었습니다.

일식 속에서 아래 용액을 발견했는데...효과가 있기를 바랍니다:)

Right click on the Project Name

Select Java Build Path, go to the tab Order and Export

Unchecked your .jar library's

이 문제는 프로젝트에 동일한 라이브러리를 여러 번 추가할 때 발생합니다.의도적으로 라이브러리를 여러 번 추가하지 않은 경우 프로젝트에 추가한 라이브러리의 종속성/프라이빗 라이브러리를 확인하십시오.아마도 이 경합을 일으키는 라이브러리가 이미 포함되어 있을 것입니다.

저도 이게 문제인지 잘 모르겠더라고요.제 경우 apk를 이메일에 복사하는 동안(드래그 드롭) apk가 실수로 패키지 중 하나의 src 폴더에 붙여넣어져 있었습니다.소스 폴더에서 APK를 삭제한 후 정상적으로 동작.

Intelij에서 이 문제가 발생했습니다.이는 프로젝트에 추가한 ActionBarSherlock 라이브러리가 Android-support-v4.jar를 컴파일 의존관계로 정의하고 있기 때문입니다.이 jar는 이미 프로젝트에 포함되어 있기 때문에 컴파일 시에 DEX의 복사본/버전이 여러 개 있었습니다.

해결책은 이 jar의 ActionBarSherlock 모듈 의존성을 컴파일이 아닌 Runtime으로 변경하는 것이었습니다.이는 제 프로젝트에서 이미 제공하고 있었기 때문입니다.

저에게 문제는 아까 lib project(autobahn lib)를 추가하고 나중에 같은 라이브러리의 Jar 파일로 바꾼 것입니다.이전 라이브러리 프로젝트에 대한 참조를 삭제했는데 이 오류가 발생했습니다.여기에 있는 모든 답변에 따라 빌드 경로 등을 확인했습니다.하지만 수동으로 경로를 만들기 위해 이 립을 추가하지는 않았습니다.그래서 제거할 게 없었어요.드디어 이 폴더를 발견했어요.

bin/dexedLibs

autobahn Android에 대응하는 동일한 이름의 jar 파일이 두 개 있어서 충돌이 발생했다는 것을 알게 되었습니다.그래서 저는 dexedLibs 폴더에 있는 모든 jar 파일을 삭제하고 프로젝트를 재구축했습니다.이것으로 문제가 해결되었습니다.

무수히 많은 잠재적 원천을 더하면...프로젝트의 모든 라이브러리를 업데이트했습니다.lib그러나 Eclipse는 모든 원래 라이브러리를 "도움이 되는" 방법으로 재설치했습니다.Eclipse 내부에서는 이러한 라이브러리에 대한 참조가 더 이상 없었지만 외부 덱스 메이커 프로그램은 이 라이브러리의 모든 파일을 가져왔습니다.lib디렉토리 및 여러 라이브러리의 두 가지 버전을 취득했습니다..jar파일을 표시합니다.

git status새로운 파일을 특정하고git clean -f이클립스가 아직 복사본에서 열려 있어서 Windows에서 기다리거나 재시작해야 하는 경우도 있었습니다.

매우 심플한 솔루션과 최고의 솔루션:

메인 프로젝트의 폴더 우클릭 -> 속성 -> Java 빌드 경로에서 Android X를 제외한 모든 항목을 삭제합니다.Y(여기서 X).Y는 Android 버전입니다).청소 및 구축.알았어!

그 전에 반드시 단일 Android-support-v4.jar를 사용하십시오.

cordova를 사용하는 경우 cordova clean 명령을 사용합니다.

언급URL : https://stackoverflow.com/questions/8059719/unable-to-execute-dex-multiple-dex-files-define

반응형