참고 : Xavier의 답변 후 수정 된 답변
Android Studio에서 하나의 동일한 응용 프로그램 프로젝트에 다른 빌드 풍미 를 사용하려고합니다 . 그러나 적절하게 작동하도록 구성하는 데 끔찍한 시간이있는 것 같습니다.
단계 :
- 'Test'라는 새 Android Studio 프로젝트를 만듭니다.
build.gradle *를 열고 다음 행을 추가하십시오.
productFlavors { flavor1 { packageName 'com.android.studio.test.flavor1' } flavor2 { packageName 'com.android.studio.test.flavor2' } }
- Android Studio를 다시 시작한 후 Build Variants 섹션에 4 개의 빌드 변형이 표시 됩니다. 우리는 지금까지 제품 맛을 설정하는 데 성공했습니다. **
에 대한 새로운 소스 폴더 생성 flavor1을 ; 그러나 올바른 방법으로하고 있는지 확실하지 않습니다. 내가 한 방법은 다음과 같습니다.
- 이 프로젝트의 패키지 이름은 다음과 같습니다.
com.foo.test
src
flavor1의 경우 폴더를 마우스 오른쪽 버튼으로 클릭하면 실제로 구조가와 같은 방식으로 탐색기에서 개별 폴더를 만들었습니다src/flavor1/java/com/foo/test/MainActivity.java
.- 위의 내용은 'java'폴더가 파란색 이므로 IDE가 활성 소스 디렉토리를 알고 있음을 의미합니다. 또한 패키지가 자동으로 생성되었습니다. 그럼에도 불구하고 중복 클래스가 발견되었다는 경고가 표시됩니다. 여기 스크린 샷을 참조하십시오.
- flavor2의 경우 패키지를 수동으로 만들려고 시도했지만 flavor2의 'src'폴더가 파란색이 아니므로 마우스 오른쪽 버튼을 클릭하면 옵션이 다르므로 '새 패키지'를 사용할 수 없습니다. 여기 이미지를 참조하십시오.
- flavor1의 경우 파란색으로 바뀌는 'res'디렉토리도 만들었지 만, 그럼에도 불구하고 다른 리소스를 사용하려는 경우 Android 리소스 파일 또는 Andorid 리소스 디렉토리를 만들 수는 없습니다. 다른 풍미를위한 resoruces.
- 이 프로젝트의 패키지 이름은 다음과 같습니다.
내가 뭔가 잘못하고 있습니까? 아니면 뭔가 빠졌습니까? 더 자세한 정보가 필요하면 알려주십시오.
* 내 프로젝트에는 두 개의 build.gradle 파일 이있는 것 같습니다 . 하나는 프로젝트 폴더의 루트 (\ GradleTest)에 있으며 비어 있습니다. 두 번째 것은 \ GradleTest의 하위 폴더 루트에 있으며 'GradleTest'(GradleTest-GradleTest)라고도합니다. 그러므로 이것이 제가 편집 한 것입니다.
** gradle 설정을 확인했으며 자동 가져 오기 사용 이 이미 활성화되어 있습니다. 그럼에도 불구하고 build.gradle 파일을 변경해도 빌드 변형이 자동으로 업데이트되지는 않습니다 . 참고 : 나는 또한 Build-Rebuild Project 및 / 또는 Build-Make Project, no-go를 사용해 보았습니다. 여전히 프로젝트를 닫고 변경 사항을 적용하려면 다시 열어야합니다.
applicationId
(가) 대신 지원되는 지금이다packageName
.