2013-05-21 2 views
0

다음과 같은 설명으로 내 하루를 진정하게 만듭니다.Jar 파일 대 안드로이드 라이브러리에 대한 참조

L은 라이브러리입니다. A는 L을 사용하는 응용 프로그램이고 CA는 라이브러리 L에서 CL 클래스를 확장하여 선언 된 클래스입니다.

최근까지는 L.jar를 A 프로젝트의 lib 폴더에 넣을 수있었습니다. 하지만 새 하드 디스크를 구입하고 Eclipse, ADT 플러그인 및 SDK를 재설정 한 다음 내 프로젝트를 새 위치로 전송했습니다. 이것이 시작된 때입니다.

프로젝트 L에 대한 참조 (Project/Properties/Android/Library를 통해)를 A에 배치하면 모든 것이 올바르게 작동합니다. 그러나 jar 파일을 사용하면 호출 클래스와 동일한 클래스에 속하지만 CA 클래스에 대해 "No Class Defintion Found"오류가 발생합니다!

는 일부 회의적인 발언을 방지하려면 :

  1. L은 아무런 자원이 없습니다.
  2. 컴파일러 버전은 1.6입니다.
  3. 두 프로젝트를 수백만 번 청소했습니다.
  4. 두 프로젝트 모두 동일한 API 버전으로 컴파일됩니다.
  5. 난독 처리가 사용되지 않았고 CL 클래스가 L.jar에 실제로 있는지 확인했습니다.
  6. L.jar을 빌드 경로에 배치하려고 시도했는데 맨 위, 맨 아래, 아무런 도움이되지 않았습니다.

예상되는 도움에 감사드립니다.

+0

마지막 심볼에서 L 심볼을 내보내 시나요? L이 가져 오기 목록의 src 폴더 위에 있습니까? –

답변

0

BuildPath 구성의 "주문 및 내보내기"패널에서 안드로이드 종속성을 확인했지만 안드로이드 프로 바이더 라이브러리가 빠지지 않았습니다.

내가 아는 것은 Android 속성을 통해 연결된 라이브러리가 Android Dependencies로 이동하는 반면 lib 폴더의 라이브러리는 Android Private로 간주된다는 것입니다. 이것은 왜 첫 번째가 포함 되었는가에 대한 이유를 설명합니다.

가장 짜증나는 점은 이클립스가 불평을하지 않는다는 것입니다. 빌드가 제대로 된 것으로 보이고 실행 단계에서만 오류가 나옵니다. C 프로그래머로서 나는 그렇게 익숙하지 않다.

관련 문제