Eclipse에서 Android 지원 라이브러리 소스를 어떻게 첨부합니까?


79

소스 코드를 외부 라이브러리에 첨부하는 것은 굉장합니다. v4 지원 패키지 의 소스 코드는 어디에서 찾을 수 있습니까 ? 가급적이면 android-support-v4.jarEclipse에서 쉽게 첨부 할 수있는 zip 파일 일 것입니다 .


4
IMO @andr 대답은 받아 들일 수있는 하나입니다
아미르 Uval

답변:


66

Android SDK Manager에서 지원 패키지를 다운로드 한 후 <android-sdks> / extras / android / support / v4 / src 폴더에서 지원 패키지의 소스 코드를 찾을 수 있습니다.


12
제 경우에는 C:\Program Files\Android\android-sdk\extras\android\compatibility\v4\src\java. 그런 다음 내용 (안드로이드 폴더)을 다음 명령을 사용하여 * .jar로 패키지화했습니다 jar cf android-support-v4-sources.jar android/. 이 항아리를 android-support-v4.jar (이클립스의 자바 빌드 경로 / 라이브러리 설정)에 첨부했습니다. 좋은 :) 작품
하바드 Geithus

5
이것은 지금 작동하지 않는 것 같습니다. 어떻게 작동시킬 수 있습니까? help. 나는 adt 21.1을 사용하고 있습니다. android-support-v4.jar의 문서 소스 또는 자바 소스는 수정할 수 없습니다. 프로젝트, 속성> Java 빌드 경로> 라이브러리 탭, Android 개인 라이브러리> android-support-v4.jar-소스 첨부 :( 없음)-수정 불가능을 마우스 오른쪽 단추로 클릭하십시오. :(
Thupten 2013 년

3
Ok. 작동했습니다. android-support-v4.jar Referenced Libraries는 오른쪽 클릭 Build Path..,, Add to Path. 그런 다음에서 Referenced Librariesandroid-support-v4의 속성을 마우스 오른쪽 버튼으로 클릭하고 소스를 설정합니다.
Thupten 2013 년

이 답변은 OP의 질문에 완전히 대답합니다. @andr에 의해 일식 참조 응답에 jar 파일에 첨부합니다
JRomero

@Thupten, 당신은 한 번으로 충분할 때 두 번 참조하지 않습니까?
Pacerier 2014

122

지원 라이브러리에 대한 소스를 첨부하는 또 다른 방법을 추가하고 싶습니다. 버전 20 이상의 ADT가 필요합니다 . 이 방법은 컨테이너에 의해 소스 / javadoc 위치 설정이 비활성화 된 모든 JAR에 대해 작동한다고 가정합니다. 수행해야 할 작업은 다음과 같습니다.

  1. android-support-v4.jar에서 라이브러리 거짓말 libs프로젝트의 디렉토리. 동일한 디렉토리에서 문제의 JAR과 똑같이 이름이 지정되지만 .properties확장자 가 추가 된 일반 Java 특성 파일을 작성하십시오 . 따라서 지원 라이브러리의 경우
    android-support-v4.jar.properties.

  2. 생성 된 속성 파일을 열고 src해당 라이브러리의 소스를 찾을 수있는 위치에 명명 된 속성 값을 설정합니다 . 파일에는 다음과 같은 한 줄이 있어야합니다.

    src=c:/apps/adt-bundle-windows-64bit/sdk/extras/android/support/v4/src
    
  3. 파일을 저장하십시오.

  4. Android 프로젝트를 닫았다가 다시 엽니 다.

  5. 지원 클래스 중 하나를 찾아보십시오. 이제 소스 첨부 파일이 작동합니다.

제 경우에는 완벽하게 작동했습니다.

참고할 사항 src은 절대 경로가 아닌 경우 JAR 파일의 상위 디렉토리에서 시작하여 확인됩니다. 지원 라이브러리를 예로 들면 src=support/srcADT는 클래스 소스가에있는 것으로 가정합니다 libs/support/src.

작성자가 작성한이 기능에 대한 간단한 설명은 여기 에서 찾을 수 있습니다 .

.properties파일이 정확히 처리 되는 방식에 관심이있는 사람이 있다면 패치 세트 # 4, esp를 읽는 것이 좋습니다. 변경 사항 eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/ internal/project/LibraryClasspathContainerInitializer.java:)

편집하다

참조 된 여러 라이브러리가있는 프로젝트에서 소스를 적절하게 추가하는 것에 대한 WindRider의 훌륭한 의견도 참조하십시오.


9
이것은 '공식적'이며 권장하는 방법입니다.
BoD

10
Android 지원 라이브러리를 차례로 참조하는 여러 참조 라이브러리가있는 큰 프로젝트가있는 경우 android-support-v4.jar의 모든 사본이 동일한 바이너리인지 확인해야합니다. 그렇지 않으면 이상한 오류 "체크섬 불일치 bla bla"가 표시됩니다. 또한 이러한 지원 lib 사본 중 하나만 가져 오며, 아마도 라이브러리 프로젝트의 lib \ 폴더에 하나가 포함될 수 있습니다. 어떤 것이 사용되는지 확인하려면 패키지 탐색기-> Android 종속성을 열고 지원 라이브러리를 가져온 위치를 확인합니다. 그런 다음 메인 프로젝트가 아니라 라이브러리 프로젝트에 대해 동일한 절차를 수행합니다.
WindRider

2
나머지 몇 가지를 시도한 후 이것이 최선의 답변이라고 말할 수 있습니다. 올바른 답변으로 받아 들여야합니다.
Amir Uval 2013

2
@Simulant-저는 ActionBar compat lib에 대한 전문가는 아니지만 얼핏 보면이를 사용하려면 별도의 Android Lib 프로젝트로 가져 와서 주 프로젝트에서 종속성으로 참조해야한다고 생각합니다. 그렇다면 lib 프로젝트 의 "libs"디렉토리 대해 여기에 설명 된 단계를 따르기 만하면 됩니다. 그 디렉토리는 두 가지가 있어야 .jar파일을 : android-support-v4.jar하고 android-support-v7-appcompat.jar있는 당신이 만든 언급 할 수 있어야 .properties파일입니다.
andr

5
Windows를 사용하는 경우 src줄에 슬래시를 사용해야합니다 .
Scutterman

83

여기 Eclipse Juno에서 지원 라이브러리의 소스를 첨부하는 솔루션

프로젝트가 이미 android-support-v4.jar"Android Dependencies"아래의 "Build Path"에 있지만 소스 디렉토리를 연결할 수 없다고 가정합니다. ( "소스 첨부"는 "수정 불가능"으로 표시됨). 해결책:

  • "빌드 경로 구성"으로 이동
  • 외부 JAR 추가> YourProject/libs/android-support-v4.jar (당신의 프로젝트가 이미 그것을 참조했다는 것을 알고 있지만 걱정하지 마십시오. 다시 추가하십시오).
  • jar를 확장하고 Source를 External Jar에 연결합니다. android-sdk/extras/android/support/v4/src
  • "Order and Export"탭으로 전환하고 "Android Dependencies"위에 외부 jar를 가져옵니다.

소스로 지원 라이브러리 탐색을 즐기십시오!

당신은에 첨부 된 "안드로이드 테스트 프로젝트"가 있다면 YourProject, 그래서 YourProjectTest더 이상 컴파일하지 않을 수 있습니다. 이 경우 "Order and Export"로 돌아가서 "Android Dependencies"아래에있는 외부 jar를 아래로 당겨 정상으로 되돌려 야합니다.


2
나를 위해 "구성 빌드 경로"가 아니라 "Java 빌드 경로".
user123321 dec.

4
이것은 필요한 모든 단계를 가지고 있었고 나를 위해 일했습니다! 마지막 단계 (주문)는 다른 것에서 제외되었고 매우 중요했습니다.
cottonBallPaws

3
내가 새로 APL 위의 .jar 추가 당겨했다, 그래서 나는 (안드로이드 종속성 위에 열거 된 APL) 안드로이드 개인 라이브러리에 나와있는 안드로이드 지원-v4.jar 있었다
Kuitsi

1
기록을 위해 이것은 지원 라이브러리뿐만 아니라 다른 라이브러리에서도 작동합니다. / Captain Obvious
Emil Lundberg

2
이 작업을 수행 할 필요가 없습니다. 표준 안드로이드 애플리케이션의 초기 설정에 위배됩니다. @andr의 "공식"솔루션을 사용하는 것이 좋습니다.
JRomero 2013 년

16

수락 된 답변을 참조하면 .jar 파일을 빌드하지 않고 디렉토리에서 직접 소스를 첨부 할 수도 있습니다. Java 빌드 경로 / 라이브러리 탭에서 android-support-v4.jar를 확장하고 "Source attachment"를 강조 표시하고 "Edit ...", "External Folder ..."를 클릭 한 다음 (android-sdk) \ extras \를 가리 킵니다. android \ support \ v4.

이것은 일식 인디고를 사용하여 테스트되었습니다.

댓글에서 :

지원 라이브러리에 소스를 추가 할 수없는 문제는 지원 라이브러리가 프로젝트의 "Android Dependencies"폴더에있는 경우 발생하는 것 같습니다. 해결 방법은 동일한 "Java 빌드 경로 / 라이브러리"탭에서 "외부 JAR 추가 ..."를 클릭하고 (android-sdk) \ extras \ android \ support \ v4 경로에서 .jar 파일을 찾는 것입니다. 그러면 새 "참조 된 라이브러리"폴더 아래의 프로젝트 설정에 나타납니다.


5
물론 소스를 항아리에 첨부 할 수없는 버그가 없다면.
Ixx

1
이것은 멋지지만 내 "편집"버튼이 회색으로 표시됩니다. 그게 lxx에 대해 언급 한 버그입니까? 해결책을 찾았습니까?
스팬

3
모두 회색으로 표시되고 "수정 불가능"이라고 표시됩니다.
Mister Smith

2
지원 라이브러리가 프로젝트의 "Android Dependencies"폴더에있는 경우 지원 라이브러리에 소스를 추가 할 수없는 문제가 발생하는 것 같습니다. 해결 방법은 동일한 "Java 빌드 경로 / 라이브러리"탭에서 "외부 JAR 추가 ..."를 클릭하고 (android-sdk) \ extras \ android \ support \ v4 경로에서 .jar 파일을 찾는 것입니다. 그러면 새 "Referenced Libraries"폴더 아래의 프로젝트 설정에 나타납니다. 그런 다음 원래 답변에 표시된대로이 .jar 파일에 소스를 첨부 할 수 있습니다.
happydude

2

표준을 좋아하는 사람들은 소스 코드의 jar 파일을 가지고 있으므로 소스 제어 및 프로젝트 공유가 더 편리합니다.

예를 들면 :

../android-support-v4.jar
../android-support-v4-src.jar

소스 jar 파일을 생성하고 첨부하는 것은 간단합니다.

  1. cd to path_to_android_sdk / extras / android / compatibility / v4 /
  2. 7-zip과 같이 좋아하는 zip 프로그램을 사용하여 zip 파일을 만들고 이름을 android-support-v4-src.jar로 지정합니다. jar의 첫 번째 폴더는 / scr이어야합니다.
  3. 파일을 프로젝트에 복사합니다.이 예제에서는 코드 jar와 동일한 폴더에 있습니다.
  4. Eclipse에서 프로젝트 속성에 소스 jar를 첨부합니다.

답변 해 주셔서 감사합니다. jar 아카이브를 만들려면 JDK에 포함 된 jar 프로그램을 사용할 수도 있습니다.
Håvard Geithus 2013-06-28

1

자동 생성 된 파일을 제거한 다음 수동으로 참조 라이브러리로 추가합니다.

먼저 클래스를 열면 IDE에서 연결된 소스 변경을 요청합니다.


0

빌드 경로에서 src 및 doc를 첨부하는 프로세스는 일부에서는 작동하지만 저와 같은 일부에게는 그렇지 않습니다. 명심해야 할 몇 가지 주요 사항

  1. 프로젝트 네비게이터가 아니라 패키지 탐색기 에 있는지 확인하십시오 .

  2. 프로젝트 아래의 libs 폴더에 android-support-v4.jar를 넣은 경우. 큰.

  3. jar, Build path .. Add to Path를 마우스 오른쪽 버튼으로 클릭합니다. (경로에 추가가 표시되지 않으면 이미 추가 된 것입니다. 구성 경로가 표시됩니다.)

  4. 3 단계의 결과로 참조 된 라이브러리 라는 새 폴더 가 패키지 탐색기 트리에 나타납니다. 그 트리를 열고 거기에서 android-support-v4.jar을 찾으십시오. Referenced Libraries 속성 에서이 jar를 마우스 오른쪽 버튼으로 클릭 합니다. 그런 다음 Java 소스 첨부 및 Javadoc 위치를 설정하십시오.

  5. 완료되었습니다.

내 Java 소스 첨부 파일의 경로 (외부 위치)

C : / 사용자 / thupten / adt-bundle-windows-x86_64-20130514 / sdk / extras / android / support / v4 / src

Java 문서 위치에 Android 웹 사이트 문서를 사용했습니다.

http://developer.android.com/reference/android/support/v4/app/package-summary.html


0

나는 이것을 찾았다.

기본 lib의 경우 : android.jar :

소스 : sdk / sources / android-19 문서 : sdk / docs / reference /

지원 lib : android-support-v4.jar : (이전에 외부 jar와 같은 android-support-v4.jar을 추가해야합니다 (프로젝트 속성-> Java 빌드 경로-> 라이브러리, 그런 다음 '주문 및 내보내기'탭에서 Android Private Libraries 이전의이 라이브러리)) :

src : sdk / extras / android / support / v4 / src / java 문서 : http://developer.android.com/reference/android/support/v4/app/package-summary.html (확실하지 않음)


0

SDK를 업데이트하고 문서를 다운로드 한 후 :

  • 지원 라이브러리 프로젝트를 패키지 탐색기로 가져옵니다.
  • 라이브러리에 폴더를 만들고 이름을 ext-jars.
  • 이동 android-support-v4.jar하는 ext-jars폴더.

    여기에 이미지 설명 입력

  • 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 속성을 클릭합니다.
  • 왼쪽 메뉴에서 Java Build Path를 클릭 한 다음 Libraries 탭을 선택합니다.
  • 를 클릭 한 Add JARs...다음 프로젝트를 확장하고 이미 폴더로 이동 한 jar 파일을 선택합니다 ext-jars.

여기에 이미지 설명 입력

  • 추가 된 항아리를 확장하고를 선택한 Source attachment다음을 클릭합니다 Edit.
  • 선택 External location후 클릭External Folder...
  • 다음에있는 Support v4의 소스 폴더를 선택하십시오. [sdk-path]/extras/android/support/v4/src

여기에 이미지 설명 입력

  • 선택 Javadoc location클릭 Edit선택한 후 Javadoc URL다음을 클릭 Browse...하고에 위치하고 지원 V4에 대한 javadoc의 위치를 선택[sdk-path]/docs/reference/

여기에 이미지 설명 입력 - Order and Export탭을 선택 하고 android-support-v4.jar방금 추가 한 항목을 확인합니다 .

프로젝트를 정리하고 Eclipse를 다시 여는 것도 좋습니다.

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