안드로이드 개발 질문/답변
(글 수 45,052)
이클립스에서 application 소스를 살펴보고 있습니다.
해당 에러메세지로 검색을 해보니
com.android.internal.R
위 클래스가 더이상 SDK에서 지원안되는것은 알겠습니다. 그런데 조금 이해가 안되는것이
더이상 지원이 안되면 당연히 기존에 이걸 import 했던 app 들은 에러가 발생하는데 다른 방법이라도 있어야 될텐데..
아무리 뒤져도 더이상 지원안된다는 얘기 말고는 찾을 수 가 없네요.
현재 보고 있는 어플의 소스가 언제적 안드로이드 어플인지는 모르겠지만,
com.android.internal.R.string.sendtext 라는건 사용하는데요, 여기서 오류가 발생합니다.
답답하군요. sendtext 를 다른 뭔가로 대체를 하든가 해야될텐데...
이것뿐만아니라 안드로이드 풀소스의 framework 아래에 hide 나 deprecated 라고 된 함수들을 특정 어플에서 사용해서 이클립스에서 빌드가 안되는 경우가 있습니다.
문제는 hide 하였으면... 해당 함수를 대체할 수 있는 다른방법을 표시를 해줘야 되는데... 그런건 없고 그저 오류메세지만 뿌려대니.. 짜증이이 나네요.
어떻게 하면 이클립스에서 저 오류없이 빌드할 수 있을까요?
해당 에러메세지로 검색을 해보니
com.android.internal.R
위 클래스가 더이상 SDK에서 지원안되는것은 알겠습니다. 그런데 조금 이해가 안되는것이
더이상 지원이 안되면 당연히 기존에 이걸 import 했던 app 들은 에러가 발생하는데 다른 방법이라도 있어야 될텐데..
아무리 뒤져도 더이상 지원안된다는 얘기 말고는 찾을 수 가 없네요.
현재 보고 있는 어플의 소스가 언제적 안드로이드 어플인지는 모르겠지만,
com.android.internal.R.string.sendtext 라는건 사용하는데요, 여기서 오류가 발생합니다.
답답하군요. sendtext 를 다른 뭔가로 대체를 하든가 해야될텐데...
이것뿐만아니라 안드로이드 풀소스의 framework 아래에 hide 나 deprecated 라고 된 함수들을 특정 어플에서 사용해서 이클립스에서 빌드가 안되는 경우가 있습니다.
문제는 hide 하였으면... 해당 함수를 대체할 수 있는 다른방법을 표시를 해줘야 되는데... 그런건 없고 그저 오류메세지만 뿌려대니.. 짜증이이 나네요.
어떻게 하면 이클립스에서 저 오류없이 빌드할 수 있을까요?
2009.10.20 20:59:08
1) com.android.internal.R. 이놈들은 SDK 상에서 못만집니다. framework 단에서 접근해야 합니다 :)
2) deprecated 된 놈들은 그에 상응하는 함수가 존재하긴 합니다. 설명이 미흡하긴 하지만. ctrl + space 를 눌러서 메소드 뒤지면 나오긴 합니다.
얼핏 봤을땐 풀소스 패키지 일부분을 sdk상에서 빌드하시려는거 같은데.. 맞으련지요?
아마 리소스 공유나 기타 문제등으로 인해 안되는것으로 알고있습니다 :)
2009.10.21 09:11:29
두분 답변 감사합니다. 세모군 님 말씀대로
풀소스 패키지의 android\development\sample\RSSReader 를 좀 고쳐서 리더다운 리더로 만들려고 이클립스로 가져왔습니다만...
대충 비슷해 보이는 APi 찾아서 수정을 하는데.. 전달받는 인자 개수도, 형도 틀려서 뭘 어째야 할지 모르겠군요. 억지로 끼워맞춰서 컴파일은 됩니다만 실행해서 해당하는 버튼 누르면 당연히 런타임 오류나버리네요.
답이 없는건가요....
풀소스 패키지의 android\development\sample\RSSReader 를 좀 고쳐서 리더다운 리더로 만들려고 이클립스로 가져왔습니다만...
대충 비슷해 보이는 APi 찾아서 수정을 하는데.. 전달받는 인자 개수도, 형도 틀려서 뭘 어째야 할지 모르겠군요. 억지로 끼워맞춰서 컴파일은 됩니다만 실행해서 해당하는 버튼 누르면 당연히 런타임 오류나버리네요.
답이 없는건가요....
2010.03.22 14:33:13
맞는 대답인진 잘 모르겠지만..
1.6부터는 기존소스 com.android.internal.R 를 android.R로 바꾸시면 될듯합니다.^^;
안된다면 죄송합니다;
2010.03.22 14:54:07
다시 한번 찾아보니 rebuild 할때 아니면 접근이 안되는 것처럼 나와있네요..
http://groups.google.com/group/android-platform/browse_thread/thread/41b8353799d7d317
참고하세요~
http://groups.google.com/group/android-platform/browse_thread/thread/41b8353799d7d317
참고하세요~
해당기능과 맞는 SDK에 공개된 API로 바꾸어서 만들라고 하더군요.
어째든 R.string.sendtext 은 스트링에 들어가 sendtext 라는 값을 이야기 하므로,
strings.xml 에 sendtext 를 아무값이나 넣고, 바꾸어서 우선을 컴파일 하시면 될듯합니다.
그러나, 문제는 다른 곳에서 또 나올 겁니다.