다음 설정을 사용하여 샘플 프로젝트가 있습니다.
/root
+ Pure Java Lib
+ Android Test Lib
+ Android Test Project
' Test Project '가 ' Test Lib '에 의존하고 마지막이 ' Pure Java Lib ' 에 의존하는 경우 프로젝트를 컴파일 하고이 설정을 시작하면 제대로 작동합니다.
이제 이전 Eclipse 작업 공간을 가져오고 Android 스튜디오에서 작업하는 것에 대해 생각하고 있습니다. 문제는 프로젝트 설정이 다르기 때문에이 방법으로 유지하고 싶습니다.
예를 들어 이전 예제를 사용하는 경우 :
/root
+ Android Test Lib
+ Android Test Project
/Some Other folder (another repository for example)
+ Pure Java Lib
많은 구성을 시도했지만 부모 폴더 범위 밖에서 프로젝트를 참조하는 방법을 찾지 못했습니다 ( 이 예에서는 ' root ').
많은 플랫폼 / 모듈에서 '..'을 사용하여 폴더로 이동할 수는 있지만 이것은 나에게 효과적이지 않습니다. 아마도 잘못 사용했습니다.
누구나 Gradle을 사용하여 이것이 어떻게 달성 될 수 있는지 알고 있습니까?
최신 정보
좀 더 일반적으로 노력하겠습니다.
/C:/
/Project A
+ Module 1 - Pure Java
+ Module 2 - Android Test Lib
+ Module 3 - Android Test Project
/Project B
+ Module 1 - Pure Java
+ Module 2 - Pure Java
+ Module 3 - Pure Java
나는의 모듈 1을 사용하고자하는 프로젝트 B , 프로젝트 A를에 .
업데이트 : 09-03-19
나는 이것을보고 지금 업데이트해야한다. 거의 6 년이 지난 지금, 나는 더 현명하다. 그리고 나는 문제가 "진리의 근원"이라는 개념을 오해하고 있다고 말할 수있다.
라이브러리에 대한 하나의 참조를 갖는 것은 개념을 갖는 것이 좋지만 "진리의 근원"처럼 보일 수 있지만, 실제 "진리의 근원"은 각 프로젝트가 해당 라이브러리에서 사용하는 코드의 버전 일 것입니다. 라이브러리 자체에는 버전이 있습니다. 많은 버전에서 "진실의 근원"은 라이브러리를 사용하는 프로젝트와 관련이 있습니다.
올바른 방법은 대부분의 개발자가 싫어하는 것을 사용하는 것이며 git 서브 모듈이며, 각 프로젝트의 소스를 복제하면 각 프로젝트가 다른 버전의 코드를 사용할 가능성이 높습니다.
그러나 모든 프로젝트가 모든 최신 라이브러리 버전을 사용하도록해야합니다. 이는 그 자체로 어려운 문제입니다.
이것이 라이브러리 소스로 프로젝트를 개발하는 올바른 방법 인 이유는이 스케일이기 때문입니다. 각각 자체 라이브러리 구성으로 수백 개의 프로젝트를 가질 수 있습니다.