2012-04-10 2 views
5

maven-android 플러그인을 사용하여 Android 프로젝트를 설정했습니다. 이 플러그인은 R.java 파일의 위치 (예 : target/generated-sources/r)에 대해 maven 출력 폴더를 준수합니다.Maven을 사용할 때 Eclipse에서 Android R.java의 출력 폴더를 변경하십시오.

그러나 Eclipse에서이 프로젝트를 사용할 때 해당 폴더를 사용하도록 aapt를 구성 할 수 없습니다. 내가 수동으로 프로젝트 속성에 가서 수동으로 폴더를 설정하더라도

의 ADT 플러그인에 가서 재설정을 단지 일부 설정 (즉, 다시 원본 폴더와 /gen 폴더를 추가하고, 출력을 복원 폴더를 대신 /target/classes) 폴더에두고, 메이븐 파일은 /target/generated-sources/r 폴더로 남겨두고 프로젝트 빌드를 해제하십시오.

Eclipse ADT에서 기본 Maven 폴더 구조를 사용하고 싶습니다. 어떻게 할 수 있을지에 대한 아이디어가 있습니까?

감사 의견에 응답


:

  • 은 예, m2e-안드로이드 플러그인을 사용하고 있습니다.
  • ADT는 여전히 /gen에 R.java를 생성하기 때문에 중복 된 클래스 정의로 인해 target/generated-sources/r 아래에 R.java가 계속 존재하는 경우 Eclipse가 컴파일되지 않습니다.
+0

m2e-android 플러그인을 사용하고 있습니까? –

+0

_ maven/target/generated-sources/r 폴더를 남겨두고 프로젝트의 빌드를 깨는 중. _ Eclipse에서 프로젝트를 빌드 할 때 무엇이 ​​문제가되는지 설명 할 수 있습니까? – yorkw

답변

4

불행히도 Android Connector for M2E은 ADT gen 폴더와 같이 생성 된 폴더를 다른 디렉터리로 이동하는 기능을 지원하지 않습니다. 업데이트 된 상태를 유지하려는 경우,이 티켓에 대해 언급 해주십시오

https://github.com/rgladwell/m2e-android/issues/68

이 제한을 해결하는 방법을 탐구하는 표가 있지만 이것은 ADT의 제한 사항입니다.

+0

aapt는 생성 된 폴더에 대해 사용자 지정 폴더를 지정할 수있게합니다 (-J 스위치 사용). 내가 안드로이드 커넥터 커버 아래 aapt에 의존 sthe? 내가 말한 표를 따를거야. 감사. –

+0

아니요 안드로이드 커넥터는 물건을 만들기 위해 내부 sdklib를 사용하는 ADT에 의존합니다. –

1

이 나를 위해 작동하는 것 같군 :

은 ADT가 소스 폴더로 세대를 계속하자,하지만 /target/classes로 해당 소스 폴더에 대한 출력 폴더를 변경합니다.

나는 이클립스와 커맨드 라인에서 maven을 사용하여 빌드 할 수 있으며, 두 경우 모두 R 클래스 문제가 중복되지 않는다. 기본적으로 Eclipse는 /genR.java 파일을 생성하고, maven은 /target/generated-sources/r으로 생성하지만, 두 빌드 모두 R.class 파일을/target/classes에 넣습니다.

참고 : 한 번에 을 사용하여 pom.xml에 추가 소스 디렉토리로 /gen을 추가 했으므로 제거해야했습니다.