2013-06-27 3 views
13

Android Developer Tools 22, Eclipse Indigo 및 Eclipse 용 현재 Gradle Plugin을 사용하고 있습니다. 이제ADT Eclipse + Gradle : 불완전한 BuildConfig.java

나는 build.gradle 파일에 정의하여 서로 다른 맛을 사용하고 싶습니다 : 나는 BuildConfig.FLAVOR를 사용하여이 변수에 액세스 할 수 있습니다 알고 지금까지

 productFlavors{ 
    A { 
     packageName "com.test.A" 
     buildConfig "public final static String FLAVOR = \"A\";" 

    } 
    B { 
     packageName "com.test.B" 
     buildConfig "public final static String FLAVOR = \"B\";" 
    } 
} 

하지만, 정의의 생성 된 BuildConfig.java에서 FLAVOR가 gen 폴더에 없습니다.

내가 Gradle을 통해 프로젝트를 어셈블하면 정확하고 완전한 BuildConfig.java가 build/source/buildConfig/[A | B]/[debug | release]/com/test/ 폴더에 생성됩니다.

내가 Gradle을 통해 프로젝트를 빌드 할 경우 그것은 작동하지만,이

내가 Gradle을 강제하거나 수있는 변수가 에 BuildConfig.java에서 세대 폴더에 정의되어 있는지 기대 때문에 내가 이클립스와 함께 작동하지 않을 수 있습니다 adt는 gen 폴더에서 올바른 BuildConfig.java를 생성합니까?

+0

현재 동일한 질문을하고 있습니다. ADT에서 금형 지원이 부족하여 현재 가능하지 않다고 가정합니다. 리플렉션을 사용하여 FLAVOR 값을 지금 가져올 수 있습니다. – Moritz

답변

2

Android Studio가 출현하고 있습니다 (아직 베타).

(@arcone에 의해 제기) 안드로이드 팀

프로젝트 회원 번호 이클립스 플러그인이 안드로이드 플러그인과 호환되지 않습니다 2 개 ... @ android.com

에 의해 Issue 57668에 대답한다.

Eclipse의 기본 Gradle 지원을 사용하여 Android gradle 프로젝트를 Eclipse로 가져올 수 없습니다.

우리가 이클립스에 대한 Gradle을 플러그인, 같은 방식으로 우리가 인 IntelliJ에서 Gradle을 지원을 수정을 변경해야합니다 그것을 이클립스에서 작동하도록

안드로이드 팀 인 IntelliJ Gradle을 플러그인에 노력하고있다

및 Eclipse 용 gradle 플러그인도 업데이트해야합니다.

당신은 ADT 이클립스에서 개발하고 있습니다 Gradle을가 Gradle for Eclipse:

에 대한 Nodeclipse/Enide Gradle for Eclipse (marketplace)

일부 스크린 샷을 사용하여 구축 실행할 수 있습니다 some plans for Android with Gradle Development in Eclipse

1

새로운 Gradle 플러그인으로 Eclipse를 사용하는 것은 지원되지 않으며 대신 Android Studio를 사용해야합니다.

또한 질문했기 때문에 플러그인에이 기능이 추가되었습니다. release notes for version 0.7.0 of the Android Gradle plugin에서 : 여러 가지 맛의 차원이있는 경우

빌드 구성이 자동으로 PACKAGE_NAME, VERSION_CODE, VERSION_NAME, BUILD_TYPE, 풍미뿐만 아니라 FLAVOR_ 더 많은 상수를 포함합니다.

1

grad 폴더 나 adt가 gen 폴더에 올바른 BuildConfig.java를 생성하도록 할 수 있습니까? 해킹과

: :generateDebugBuildConfig가 (당신이 필요로하는 변형과 Debug 교체) Gradle을 실행되면, 당신은 당신이 필요로하는 무엇을 BuildConfig.java을해야합니다.

나는 Windows에서이 만든하지만 "프로그램"빌더를 추가 좋아하는 쉘 유닉스에 대한 동일하고 cp

  1. 프로젝트 열기 속성 및 빌더에
  2. 를 탐색한다
    • 위치 : C:\Windows\System32\cmd.exe
    • 작업 디렉토리 : 작업 영역 찾아보기 ...를 선택하고 y를 선택합니다. ${workspace_loc:/YourProject}
    • 인수 : 우리의 프로젝트는
      결과는 무엇인가있을 것 /c "xcopy build\generated\source\buildConfig\debug gen /S /I /Y"
    • 실행할 때 설정
      • 새로 고침 탭 : "특정 자원"을 선택 gen 폴더
      • 옵션 탭을 빌드 : "Clean", "Manual", "Auto"및 "Specify Resources"는 프로젝트의 루트 폴더가됩니다.
  3. 이 새로운 빌더가 Android Pre CompilerJava Builder

주 사이에 배치되어 있는지 확인이 정말 ADT에 대해 작동하고 아마 당신이 처리하기 어려운 찾을 수있는 다른 빠진 부분이있을 것이다 (applicationIdSuffix, resValue, 변형 소스 폴더, 그냥 몇 가지 이름). 이클립스 ADT를 포기하고 안드로이드 스튜디오로 전환하는 것이 더 쉬울 수도있다. 구글은 어쨌든 그것을 공개적으로 인정하지 않고 이것을 원할 것으로 보인다. ADT에서 I/O 2013에서 유지 관리하겠다고 말한 이후 실질적인 진전이 없었습니다.