안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요.
안드로이드로 라이브러리를 만드는 방법을 검색해 보니 JAR 파일로 내보내기 하면된다구 하더군요.
그래서 manifet, properties,.. 등의 파일을 제외하고 JAR 파일로 내보냈습니다.
그런데, 새로운 프로젝트에서 요넘을 가져다 써야 하는데...도데체 어떻게 해야 하는지 막막합니다.
Project 우클릭->properies->java build path-libraries->add jars 해줬는데요.
소스내에서 라이브러리 함수를 쓰려고 했더니 소스 상단에
import com.xx.xxx; ==>라이브러리 내의 클래스가 자동으로 import 되더군요.
근데 빌드 하면 The com.xxx.xx cannot be resolved. 라고 에러가 나오면서 해당 합수도 cannot resolved to a type,.. 요렇게 에러가 납니다.
결론.
1. 내가 라이브러리를 만들고자 할때 위에서 말한것처럼 JAR로 내보내가 하면되나요?
2. 내가 만든 라이브러리를 새로운 내 프로젝트 링크(?) or Import 해서 사용하고 싶습니다. 어떻게 하면될까요?
도와주십시오....책이라고 있는게...헬로안드로이드인데..당췌..도움이 되질 않네요..ㅠㅠ
2009.06.17 15:43:33
Jar 익스포트할때 src부분을 선택해서 만들고, add jar로 프로젝트에 불러오는 과정까지 전부 정상적으로 잘 하신것으로 보입니다. 말씀 주신것만 가지고는 어디서 잘못하셨는지 잘 모르겠네요. 아직 한국에 나온 책중에 제대로 된 책이 없지요.
2009.06.17 15:59:21
답변 감사합니다.
우선 오전 내내 찾은것중에 한가지 가 더 있더군요.
네비게이터 프로젝트 우클릭->import->file system->*.jar select-> finish 하면 네비게이터 상에서 Referenced Libraries 란 폴더가 만들어지고 그 안에 xxx.jar 이라고 라이브러리가 들어가더군요.
문제는 여전히 라이브러리에 있는 클래스를 쓰려고 하니 " The type xxx is not visible" 라는 에러가 나네요..ㅠㅠ
우선 오전 내내 찾은것중에 한가지 가 더 있더군요.
네비게이터 프로젝트 우클릭->import->file system->*.jar select-> finish 하면 네비게이터 상에서 Referenced Libraries 란 폴더가 만들어지고 그 안에 xxx.jar 이라고 라이브러리가 들어가더군요.
문제는 여전히 라이브러리에 있는 클래스를 쓰려고 하니 " The type xxx is not visible" 라는 에러가 나네요..ㅠㅠ
2009.06.17 16:09:31
제가 정리한 부분에서도 http://www.androidpub.com/4543 import file system을 먼저 하고 그 다음에 add jar를 하라고 했지만. 사실 add jar만 해도 별로 상관은 없습니다. 정상적으로 project의 referenced libraries에 jar가 들어가 있다면 정상적으로 종료되었다고 보시면 됩니다. type이 visible하지 않다는 것은 public등의 접근 권한이 되어있지 않아서가 아닐까 합니다.
되지 않는 이유가 저도 궁금하네요 해결 하시면 꼭 해결 방법 공유 부탁드립니다.
되지 않는 이유가 저도 궁금하네요 해결 하시면 꼭 해결 방법 공유 부탁드립니다.
2009.06.18 14:50:43
회색님께서 알려주신대로 not visible ==>요건 public 로 선언이 되어 있지 않아서 발생한 에러 였습니다.
public class xxxx {....} 요렇게 해서 다시 jar 파일 만들어 주니까 잘됩니다.
회색님 정말 감사드립니다...언제나 첨 접하는것은 어렵네요..^^
그럼 제가 나만의 라이브러리 만들기 정리해보면,
1. 프로젝트 우클릭->export->Java->JAR file->src-> 원하는 소스(java)파일 제외하고 모두 체크해제->finish 하면 xxx.jar 파일이 만들어집니다.( 압축 파일 풀어보면 xxx.class로 되어 있더군요.. 옵션에서 선택할수도 있지만.. ) ==> 라이브러리 만들기 완료.
- 참고적으로 라이브러리로 만드실경우 해당 클래스및 외부에서 사용하는 함수는 꼭 public 로 해야지 저같이 에러가 안납니다.ㅠㅠ
2. 나만의 라이브러리 가져다 쓰기는 http://www.androidpub.com/4543 에 회색님께서 친절하게 캡쳐까지 해서 올려주신것 대로 하시면 깔끔하게 됩니다.
3. 이후에 내 소스에서 import xxx.xxx.xxx.*; 하시면 됩니다.(xxx => 첨에 라이브러리 만드실때 패키지 이름)
혹시나 저처럼 첨 접하시는 분 있을까봐 제가 경험한 부분 적어 봅니다.
public class xxxx {....} 요렇게 해서 다시 jar 파일 만들어 주니까 잘됩니다.
회색님 정말 감사드립니다...언제나 첨 접하는것은 어렵네요..^^
그럼 제가 나만의 라이브러리 만들기 정리해보면,
1. 프로젝트 우클릭->export->Java->JAR file->src-> 원하는 소스(java)파일 제외하고 모두 체크해제->finish 하면 xxx.jar 파일이 만들어집니다.( 압축 파일 풀어보면 xxx.class로 되어 있더군요.. 옵션에서 선택할수도 있지만.. ) ==> 라이브러리 만들기 완료.
- 참고적으로 라이브러리로 만드실경우 해당 클래스및 외부에서 사용하는 함수는 꼭 public 로 해야지 저같이 에러가 안납니다.ㅠㅠ
2. 나만의 라이브러리 가져다 쓰기는 http://www.androidpub.com/4543 에 회색님께서 친절하게 캡쳐까지 해서 올려주신것 대로 하시면 깔끔하게 됩니다.
3. 이후에 내 소스에서 import xxx.xxx.xxx.*; 하시면 됩니다.(xxx => 첨에 라이브러리 만드실때 패키지 이름)
혹시나 저처럼 첨 접하시는 분 있을까봐 제가 경험한 부분 적어 봅니다.