2013-03-28 5 views
19

시간을 사용하는 앱을 만들고 있습니다. 나는 Joda 시간을 사용하기로 결정했습니다. 내 애플 리케이션에 joda 시간을 추가하려고합니다. libs에 .jar 개의 파일을 추가하는 것에 대한 경험이 없습니다. 나는 these steps (아래 참조)을 따라 갔다. 내 프로젝트는 오류를 표시하지 않습니다,하지만 간단한 테스트를 실행하면Joda 시간 추가

Could not find class 'org.joda.time.DateTime', referenced from method xxxx 
java.lang.NoClassDefFoundError: org.joda.time.DateTime  

이 내가 다음 단계는 다음과 같습니다 : DateTime test = new DateTime();을 나는 힘 닫고 다음과 같은 오류 얻을

  1. 작성을하여 Eclipse에서 안드로이드 프로젝트.
  2. 그 위에 패키지 탐색기 마우스 오른쪽 클릭에서 프로젝트에 이클립스보기에서 다운로드 Joda Time
  3. 다음 New -> Folder -> libs를 호출합니다. 참고 : 이미 libs
  4. 복사 (또는) 드래그 & 새로 만든 libs 폴더에 joda-time-2.1.jar 드롭라는 폴더를했기 때문에 나는이 작업을 수행하지 않았다.
  5. 프로젝트를 다시 마우스 오른쪽 단추로 클릭 한 다음 (패키지 탐색기에서) Properties -> Java Build Path -> Libraries -> Add Jars -> joda-time-2.1.jar.

이제이 코드를 테스트 할 수 있습니다

DateTime test = new DateTime(); 

가져온 후 :

import org.joda.time.DateTime; 
+1

프로젝트를 지우고 빌드하십시오. – rajeshwaran

+0

클래스 파일 시작 부분에 관련 import 문을 추가하여 조담 사용을 시작할 수 있습니다 (예 : DateTime을 입력 한 다음 CTRL + SPACE를 입력하면 이클립스에서 가져 오기를 추가해야 함) – rajeshwaran

+0

오른쪽. 제대로 수입되었습니다. –

답변

20

을 그냥하지 않습니다 Joda jar 파일을 참조, 안드로이드 프로젝트이기 때문에. 당신은 다음과 같이 할 수있는 APK와 함께 그 jar 파일을 번들로 제공해야합니다 : -

  1. 속성 -> 자바 빌드 경로 ->는 joda-time-*-*.jar 및 클릭에 주문 & 수출

  2. 확인 Ok. 너 끝났어.


설명 : 단지 이클립스에서 컴파일 문제 (또는 다른 IDE)을 해결할 혼자 단지를 참조하기하지만 APK는 "joda 시간"jar 파일의 원을 만들 때 "apk"와 함께 내 보낸/번들로 제공되지 않습니다. 이것이 NoClassDefFoundError을 던지는 이유입니다.

하지만 주문 &에 수출을 joda 시간 항아리를 확인할 때, 그것은 단지도이 작성 될 때마다 "APK"와 함께/내부 번들되어 있는지 확인합니다.

+4

할렐루야 !! 그랬어! 왜 내가 안드로이드를 위해 그렇게해야하는지 설명 할 수 있니? –