2013-06-22 2 views
13

이 항목에 대해 몇 가지 질문을했지만 오류가있는 다른 부분을 검색 할 때 아무 것도 찾지 못합니다. 그래서 나는 완전한 설명과 함께 질문을 올리기로 결정했다.콘솔보기에서 무서운 메시지로 Dalvik 형식으로 변환하는 데 실패했습니다.

내 코드에서 오류가 인식되지 않음 아무데도. 모든 라이브러리가 추가되고 외부 라이브러리 프로젝트가 성공적으로 링크됩니다. 발사에 문제가 생길 징후는 없습니다.

그러나 실행, 컴파일 및 빌드 (자동) - 프로젝트에 오류가 있음을 알리는 팝업 메시지가 나타나고 응용 프로그램을 다시 시작하기 전에 문제를 해결해야합니다. .

일부 속성을 둘러보고 내 동료는 "Android Private Libraries"을 Properties -> Java Build Path -> Order and Export (이전에 다른 확인란과 함께 선택하지 않았 음)으로 확인해야한다는 것을 알았습니다. 하지만 응용 프로그램을 실행할 때 - 같은 팝 업 및하여 Console보기에서 다음

[2013-06-22 20:55:03 - TheApplication] Dx 
trouble processing "java/sql/Savepoint.class": 

Ill-advised or mistaken usage of a core class (java.* or javax.*) 
when not building a core library. 

This is often due to inadvertently including a core library file 
in your application's project, when using an IDE (such as 
Eclipse). If you are sure you're not intentionally defining a 
core class, then this is the most likely explanation of what's 
going on. 

However, you might actually be trying to define a class in a core 
namespace, the source of which you may have taken, for example, 
from a non-Android virtual machine project. This will most 
assuredly not work. At a minimum, it jeopardizes the 
compatibility of your app with future versions of the platform. 
It is also often of questionable legality. 

If you really intend to build a core library -- which is only 
appropriate as part of creating a full virtual machine 
distribution, as opposed to compiling an application -- then use 
the "--core-library" option to suppress this error message. 

If you go ahead and use "--core-library" but are in fact 
building an application, then be forewarned that your application 
will still fail to build or run, at some point. Please be 
prepared for angry customers who find, for example, that your 
application ceases to function once they upgrade their operating 
system. You will be to blame for this problem. 

If you are legitimately using some code that happens to be in a 
core package, then the easiest safe alternative you have is to 
repackage that code. That is, move the classes in question into 
your own package namespace. This means that they will never be in 
conflict with core system classes. JarJar is a tool that may help 
you in this endeavor. If you find that you cannot do this, then 
that is an indication that the path you are on will ultimately 
lead to pain, suffering, grief, and lamentation. 

[2013-06-22 20:55:03 - TheApplication] Dx 1 error; aborting 
[2013-06-22 20:55:03 - TheApplication] Conversion to Dalvik format failed with error 1 

사람이 전에이 메시지를 얻었다 (무서운 메시지)? 나는 왜 그것을 얻고 있는가? 내가 아는 것이 아닌 "숨겨진 라이브러리"또는 "내부 라이브러리"를 어디에서 찾아야합니까?

저는 상사와 동료와 확인했습니다. 모두 프로젝트에서 동일한 라이브러리를 사용합니다 (우리는 함께 작업하기 때문에 분명히 동일한 것을 가져야합니다). 그렇다면이 문제를 해결하기 위해 어디로 가야합니까?

답변

4

이전에이 메시지를받은 사람이 있습니까?

예. 2009 년 이후로는 아닙니다.

왜 나는 그것을 얻을 수 있습니까?

프로젝트 또는 JAR의 소스 코드에 Android 런타임에서 제공되는 것 이외의 다른 java.sql.Savepoint 인터페이스 사본이 있기 때문에.

"숨겨진 라이브러리"또는 "내부 라이브러리"를 어디에서 찾아야합니까?

Eclipse 클래스 경로. 빌드 경로 대화 상자에서 "& 내보내기 주문"화면의 스크린 샷으로 질문을 편집 할 수 있습니다.

15

나는 그것을 해결하기 위해 android.jar proyect 및 라이브러리의 "주문 및 내보내기"탭에서 해결합니다.

+0

+1 2 ...이 문제는 저를 위해 해결되었습니다 ... – user755499

+0

왜 이런 일이 일어나지는 않지만 문제는 해결됩니다. –

+0

그 모든 것을 쓰지 않고 ... 왜 우리에게 물어 보지 그래요? 그것을 제거하십시오 ... (BTW, 그것은 이미 선택되지 않았습니다 ... 나는 그것이 실수로 생각했기 때문에 그것을 선택했습니다. 그 순간 오류가 없었습니다. 그러나 나중에 프로젝트를 청소했을 때 발생했습니다.) –

1

같은 문제가있었습니다.

다음 조치는이 오류 메시지를 제거하는 데 도움이되었습니다.

1) Android Private LibrariesAndroid Dependencies 및이 응용 프로그램이 성공적으로 발사되었다 후 ok

enter image description here

를 클릭하여 선택 해제) Order and Export tab

3 선택 Project--> properties-->Java Build Path

2)로 이동합니다.

+0

하지만 안드로이드 라이브러리가 될 수 있습니다 ... 예를 들어 v4/v7 지원 라이브러리 – Jasper

관련 문제