Programing

android.jar에 소스를 첨부하는 방법

crosscheck 2020. 10. 23. 07:34
반응형

android.jar에 소스를 첨부하는 방법


저는 Android를 처음 사용합니다. Eclipse IDE를 사용하여 Windows OS에서 작업하고 있습니다. 내 간단한 응용 프로그램에는 데이터베이스 열의 목록을 채우는 스피너가 있습니다. 스피너 클래스를 클릭하면 파일 편집기에 소스를 찾을 수없고 android.jar에 소스 첨부 파일이 없다고 표시됩니다.

소스 코드를 다운로드하여 다음 위치에 배치했습니다.

android-sdk-windows\platforms\android-8

그런 다음 다음 단계에 따라이 소스를 첨부했습니다.

프로젝트를 마우스 오른쪽 버튼으로 클릭 => 빌드 경로 => 빌드 경로 구성 => 라이브러리 => 소스 첨부 => 다운로드 한 소스 코드의 경로를 제공합니다.

그러나 디버그에 대한 해결책을 얻지 못했습니다. 다시 말하지만, 스피너를 클릭하면 android.jar에 소스 첨부 파일이 없다는 디버그가 열립니다.


android.jar의 소스 코드를 첨부하려면 아래 링크의 자습서를 따르십시오. http://android.opensourceror.org/2010/01/18/android-source/ 올바른 플랫폼 버전을 선택해야합니다.

스피너를 사용하기 어려우면 샘플 코드를 받아 어떻게 작동하는지 확인하세요. http://developer.android.com/resources/samples/get.html

행운을 빕니다. :)

최신 정보

이 답변은 매우 오래되었습니다. 다른 답변을 고려하십시오.


이제 정말 쉽습니다!

Window-> Android SDK Manager로 이동하여 "Sources for Android SDK"를 설치합니다.

이제 일부 Android ID를 제어-클릭하면 일반적인 "첨부 된 소스 없음"페이지가 표시됩니다. "소스 첨부"를 클릭하고 외부 폴더를 선택하는 옵션을 얻습니다.

이제 /home/me/android-sdks/sources/android-16(또는 SDK가 설치된 위치, 이것이 기본값)으로 이동하고 확인을 누릅니다.

잠시 생각한 다음 소스를 표시해야합니다! 그래!


오래된 API 소스가 필요하지 않으면 Timmmm의 답변이 더 잘 제공됩니다. 14보다 오래된 출처가 필요한 경우 계속 읽으십시오.

Eclipse에서는 간단히

도움말-> 새 소프트웨어 설치

그런 다음 업데이트 사이트를 추가하십시오.

http://adt-addons.googlecode.com/svn/trunk/source/com.android.ide.eclipse.source.update/

그리고 그것을 설치하기 위해 모션을 거치십시오.

이것은 설치된 모든 API 버전에 대한 소스를 기꺼이 제공하고 저에게 매우 잘 작동합니다. 더 많은 문서가 여기에 있습니다.

http://code.google.com/p/adt-addons/

제목 Android 소스를 찾으십시오.


android-sdks/sources/android-17외부 소스로 폴더 추가하는 것이 작동하지 않으면 (제 경우와 같이) 폴더 android-sdks/platforms/android-17/sources/android-17복사 소스를 만들고 eclipse를 다시 시작할 수 있습니다 (eclipse Juno Service Release 1이 있습니다). 이 방법 만이 저에게 효과적입니다.

android-17에 대해 수행하는 단계 :

  1. adroid-sdk설치 폴더로 이동하십시오.d:\ws\android-sdks\
  2. 복사 android-17폴더에서 소스를 android-sdks\sources\android-17\받는 사람 android-sdks\platforms\android-17\sources\(폴더 생성해야 sources소스에 대한 최종 경로가 있어야합니다 수동으로 여기) 폴더 :android-sdks\platforms\android-17\sources\android-17\
  3. 일식을 다시 시작하면 android-17에 대한 소스를 자동으로 첨부해야합니다.

UPD : 다음과 같은 솔루션 symlinks:

Windows Vista + ( mklink댓글 에 언급 주신 @ saleemrashid1에게 감사드립니다 ) :

1. cd platforms\android-17
2. mklink /D "sources\android-17" "..\..\..\sources\android-17"

Unix 기반 OS의 경우 (@Joe 주석) :

디렉토리를 만들고 "sources / android-XX"를 "../../../sources/android-XX"로 심볼릭 링크하는 것이 잘 작동합니다.

mkdir platforms/android-19/sources && 
ln -s ../../../sources/android-19 platforms/android-19/sources/android-19. 

나를 위해 일한 것은 Murach의 Android 프로그래밍에서 찾은 답변을 따릅니다. 나는 디버그를하려고 멈춰서 약 3 시간 동안 작업을 시도한 후 다음 페이지 (문자 그대로)로 넘어 가서 "때때로 Eclipse는 소스를 찾을 수 없음 메시지를 표시합니다 ...."(-headdesk-)

내 해결책은 단계 필터링을 켜고 디버깅 할 때 건너 뛰고 싶은 패키지를 추가하는 것이 었습니다. 분명히 Eclipse는 때때로 모든 소스 코드 라이브러리를 단계별로 진행하며, 원하는 것은 코드를 단계별로 실행하는 것뿐입니다. 건너 뛸 패키지를 필터에 추가하여이를 우회 할 수 있습니다. Murach에 따르면 모든 패키지를 선택하고 추가하는 것으로 시작하여 시행 착오를 거쳐 수행합니다. 디버깅을 계속하면서 필터에 패키지를 더 추가해야 할 수도 있습니다.

특정 단계 : 1. 단계 필터링을 켭니다. 상단의 툴바에서 다음과 같은 버튼을 클릭합니다. http://i57.tinypic.com/x3iccp.png 2. Window-> Preferences로 이동 한 다음 Preferences 대화 상자에서 Java-> Debug-를 선택합니다. -> 단계 필터링 3. 모든 패키지를 선택합니다. 4. 추가 필터를 추가하려면 "필터 추가"를 클릭하고 끝에. *가있는 패키지 이름을 입력 한 다음 확인을 클릭합니다. Murach는 시작하려면 다음 공통 패키지를 추가 할 것을 권장합니다. --android. * --com.android. * --com.google. * --dalvik. * --libcore. * --org.apache. * 그래서 다음 중 하나를 추가하려면 이러한 패키지는 "필터 추가"를 클릭하고 "android. *"를 입력 한 다음 확인을 클릭합니다. Step Filter Preferences에 다음 패키지가 모두 포함되었습니다.

기계적 인조 인간. , android.app. , com.android. , com.google. , com.ibm. , com.sun. , dalvik. , 자바. , javax. , jrockit. , libcore. , org.apache. , org.omg. , 태양. , sunw. *, ((그리고이 마지막 것은 패키지가 아닌 클래스입니다)) java.lang.ClassLoader

대화 상자 상단에서 "단계 필터 사용"을 선택하고 하단에서 "단계별 필터 사용"을 선택했습니다. "적용"을 클릭 한 다음 "확인"을 클릭하여 대화 상자를 닫습니다. 작동합니다.

행운을 빕니다!


나는 appengine sdk와 다른 소스를 추가했고 그로 인해 ADT가 파괴되었습니다 :-(

I saw that for android-16 and android-17, the platform libraries downloaded by SDK Manager started going to ./sdk/sources whereas prior to my adding appenginge sdk, SDK Manager sent platforms to ./sdk/platforms.

It looks like the change is as a result of the appengine sdk, but for ADT, platform APIs should def be going to ./sdk/platforms

The path ./sdk/sources seems like a more generic java location and is probably the 'correct' path. Thus Android, as usual, is the problem. I was pretty sure from this point forward, I would need both ./sdk/sources and ./sdk/platforms, depending on what I was compiling.

So, I moved everything from ./sdk/sources to ./sdk/platform, deleted ./sdk/sources and then created a link 'cd sdk && ln -s platform sources'

Everything works now ;-)


For me the only solution which worked was the answer of fsbmain. Kudos to him. I can't comment on his solution because of my low reputation counter. But I want to share my knowledge ;)

I'm working on windows and don't wanted to copy the whole source tree to another location. And copy again on updates etc. So I used the possibility to insert a symbolic link which works since Windows Vista like a charm (or like Linux). For Linux you have to look at the Joe's comment under fsbmain's answer.

Assuming you have the platform in D:\sdk\platforms\android-19. Now you have to make a subdirectory sources and after that create a relative link to the real sources folder.

D:\sdk\platforms\android-19>mkdir sources
D:\sdk\platforms\android-19>cd sources
D:\sdk\platforms\android-19\sources>mklink /D android-19 ..\..\..\sources\android-19

Now restart Eclipse ... Done!

참고URL : https://stackoverflow.com/questions/5753021/how-to-attach-source-to-android-jar

반응형