안드로이드 개발 질문/답변
(글 수 45,052)
sdk 빌드하여 생성되는 android.jar 파일을 열어보면 Java Library가 모두 포함되어 있지 않는듯 한데요
모두포함하기 위해 makefile를 살펴보니 모르겠네요...
어디를 수정하고 make sdk를 해야지 android.jar에 자바 라이버러리(*.class)를 포함할수 있나요..?
모두포함하기 위해 makefile를 살펴보니 모르겠네요...
어디를 수정하고 make sdk를 해야지 android.jar에 자바 라이버러리(*.class)를 포함할수 있나요..?
2009.04.17 09:28:17
네 그렇군요^^, 근데 말씀해주신 소스빌드후에 생성되는 경로(out/target/common/obj/JAVA_LIBRARIES)에는 ActivityThread.class라는 클래스는 포함되어 있지 않네요. ActiviityThread.class의 경우 out/host/common/obj/JAVA_LIBRARIES 경로에 있게되는데 이경로의 jar를 import 하게되면 에러가 발생하네요ㅜㅜ
ActivityThread.class의 경우처럼 몇몇은 import후 빌드되지 않도록 막아 둔건가요..?
그리고 import후에 빌드후에 생기는 에러는 아래와 같습니다. 추가로 해줘야 하는 작업이 있는지요..?
error Message:
[Dex Loader] Unable to execute dex: null
[ ApiDemos] Conversion to Dalvik format failed: Unable to execute dex: null
ActivityThread.class의 경우처럼 몇몇은 import후 빌드되지 않도록 막아 둔건가요..?
그리고 import후에 빌드후에 생기는 에러는 아래와 같습니다. 추가로 해줘야 하는 작업이 있는지요..?
error Message:
[Dex Loader] Unable to execute dex: null
[ ApiDemos] Conversion to Dalvik format failed: Unable to execute dex: null
2009.04.17 10:09:25
공개되어있지 않은 경우 가능하다면 그냥 소스를 가져와서 조금 수정한후 사용하는게 더 좋습니다. 현재 리눅스 머신을 사용할 수 없는 상태라서 host디렉토리가 정확히 머였는지 확인할 수는 없는데, 달빅코드로 변경된 후의 라이브러리는 Import해서사용할수 없을거에요.
2009.04.17 11:30:03
아 그럼 ActivityThread.class 처럼 Framework 단에 걸쳐 있는 클래스에 대해서는 eclpise에서 디버깅시 class source not found 라고 나오는데, android.jar에 포함되지 않은 .class에 대해서는 eclpise 상의 디버깅모드에서는 볼수 있는 방법은 없는건가요.?
2009.04.17 13:03:14
SDK의 Android는 사용가능한 API를 보여주는 역할로 디버깅시에 보는 소스와는 직접적인 관계가 없는 것으로 알고 있습니다. 제 생각에는 디버깅시 소스는 볼수 있을것 같은데요. http://www.mobileplace.co.kr/682 에서처럼 소스를 연결한 상태에서 다른 소스는 보이는데 해당 클래스로만 안되는 것인가요?
2009.04.17 13:12:31
네 link 처럼 수행후 몇몇 class가 보이지 않습니다. 그중에 하나가 ActivityThread.class이구요..실제 소스 경로에는 들어가 있습니다. 그래서 나름 파악해 본것이 android.jar 파일을 열어본것이구요~, 거기에 당근 ActivityThrread.class는 존재하지 않았구요~ 그래서 최초에 질문드린것처럼 android.jar를 최초 빌드시 필요한 .class를 포함하도록 할수 있는지에 대해 문의드렸던거구요^^
android.jar에 포함할수 있으면 class도 보일수 있을것 같은데요..참고로 SDK 1.5 pre version과 소스는 cupcake를 사용하고 있습니다. 가능해 보일듯 해서 여러가지를 계속 해보긴 하고 있는데...^^
android.jar에 포함할수 있으면 class도 보일수 있을것 같은데요..참고로 SDK 1.5 pre version과 소스는 cupcake를 사용하고 있습니다. 가능해 보일듯 해서 여러가지를 계속 해보긴 하고 있는데...^^
그런데 디버깅용으로 혹은 다만 단말 제작하시는 입장에서 내장 어플을 고쳐서 사용해야하는 경우라서 꼭 수정해서 써야라고 하신다면 소스에서 성생되는 jar를 가져다 쓰시면됩니다. out/target/common/obj/JAVA_LIBRARIES에 있는거 가져다 쓰시면됩니다.
원하시는 내용이 이 부분이 맞는지 모르겠네요?