2012-04-20 5 views
0

새로운 앱의 라이브러리 프로젝트로 오래된 앱을 사용하려고합니다. 그러나 동시에 둘 다 기기에 설치되는 경우 몇 가지 문제가 있습니다. 게시 후에는 확실하지 않습니다.Android : 오래된 앱을 라이브러리 프로젝트로 사용하기

것은의 나의 오래된 응용 프로그램이라고하자, 새로운 응용 프로그램은 내가 단지를 설치하는 경우, A는 작품을 좋아 B.

입니다.

A 프로젝트를 "isLibrary"로 기록한 후 A를 라이브러리 프로젝트로 사용하는 B를 설치하면 원래 A는 장치에서 작동하지 않지만 B는 정상적으로 작동합니다.

그러나 먼저 B를 설치 한 다음 A를 입력해도 문제가 없습니다.

A가 다른 앱에 "라이브러리 프로젝트"로 포함되어 있고 원래 "A"다음에 설치되면 원래 "A"가 어떻게 든 무효화되는 것 같습니다 !!! (그러나이 문제는 다른 방향으로 존재하지 않습니다)

게시 후이 문제가 사라지 나 또는 A와 B 모두에 대해 라이브러리 프로젝트 C를 만들어야합니까? 또는이 문제는 설명 된 상황에서 단순히 존재하지 않는 것입니까?

라이브러리 프로젝트 C를 작성하지 않은 이유는 모든 리팩토링이 포함 되었기 때문이며 Eclipse는 필자의 경우 모든 것을 다시 명명하는 훌륭한 작업을 수행하지 않습니다.

답변

1

체크 아웃 공식 dev에 가이드 Managing Projects - Library Project는 :

그러나, 라이브러리 프로젝트는 자신의 .apk에 직접 컴파일하고 안드로이드 장치에서 실행되지 않을 수있는 표준 안드로이드 응용 프로그램 프로젝트 다르다. 마찬가지로, 실제 라이브러리와 마찬가지로 라이브러리 프로젝트를 독립형 JAR 파일로 내보낼 수 없습니다. 대신 종속 응용 프로그램에서 라이브러리를 참조하고 해당 응용 프로그램을 빌드하여 간접적으로 라이브러리를 컴파일해야합니다. 위로 질문에


: 난 그냥 설치하면

은 괜찮 작동합니다.

A는 응용 프로그램 프로젝트 (isLibrary 설정이 선택되지 않았 음)이므로 A.apk가 준수되고 설치되고 작동합니다. 내가 ("면 IsLibrary"로 한 후 똑딱 프로젝트 A) 라이브러리 프로젝트 등을 사용하여 B를 설치할 때

그런 다음, 원래 A는 장치의 작동을 중지하지만, B는 잘 작동합니다.

A는 이제 도서관 프로젝트로 변경 (A 컴파일 및 빌드 B.apk이 때 병합과) 컴파일 (면 IsLibrary가 쳤다 설정),이 지점 만 B.apk에서 더 이상 아무 A.apk 없다 설치 그리고 일.

그러나 B를 먼저 설치 한 다음 A를 모두 설치하면됩니다.

이클립스와 같은 IDE는 라이브러리 프로젝트이므로 에뮬레이터 또는 실제 장치에서 직접 컴파일, 설치 및 실행할 수 없습니다.당신이 다시 응용 프로그램 프로젝트 (isLibrary 설정을 un-ticked)로 변경하면 A.apk가 다시 컴파일되어 설치되고 작동합니다.

A가 다른 앱에 "라이브러리 프로젝트"로 포함되어 있고 원래 "A"다음에 설치되면 원래 "A"가 어떻게 든 무효화되는 것 같습니다 !!! (그러나 문제는 다른 방향으로 존재하지 않습니다)

자세한 내용은 공식적인 개발자 안내서를 참조하십시오.

게시 후이 문제가 사라지 나, A와 B 모두에 대해 라이브러리 프로젝트 C를 만들어야합니까? 또는이 문제는 설명 된 상황에서 단순히 존재하지 않는 것입니까? 당신이 (당신이 컴파일 할 수 있도록, 설치 및 에뮬레이터 또는 실제 장치에서 실행할) 응용 프로그램 프로젝트로 모두 프로젝트 A와 B를 만들고 싶어

아니오 그리고 예, 당신은 라이브러리 프로젝트 C가 필요합니다.