build.gradle
파일에 정의된 AndroidManifest.xml
파일로 변수를 삽입해야 한다면 manifestPlaceholders
속성을 사용하면 됩니다. 이 속성은 아래와 같이 키-값 쌍의 맵을 사용합니다.
Groovy
android { defaultConfig { manifestPlaceholders = [hostName:"www.example.com"] } ... }
Kotlin
android { defaultConfig { manifestPlaceholders["hostName"] = "www.example.com" } ... }
그런 다음 자리표시자 중 하나를 아래와 같이 속성값으로 매니페스트 파일에 삽입할 수 있습니다.
<intent-filter ... >
<data android:scheme="https" android:host="${hostName}" ... />
...
</intent-filter>
기본적으로 빌드 도구는 ${applicationId}
자리표시자에 앱의 애플리케이션 ID도 제공합니다. 이 값은 항상 현재 빌드의 최종 애플리케이션 ID와 일치합니다(빌드 변형에 따른 변경사항 포함).
빌드 변형 사이에서도 인텐트 작업과 같이 식별자에 고유한 네임스페이스를 사용하려고 할 때 유용합니다.
예를 들어 build.gradle
파일은 다음과 같습니다.
Groovy
android { defaultConfig { applicationId "com.example.myapp" } productFlavors { free { applicationIdSuffix ".free" } pro { applicationIdSuffix ".pro" } } }
Kotlin
android { defaultConfig { applicationId = "com.example.myapp" } productFlavors { create("free") { applicationIdSuffix = ".free" } create("pro") { applicationIdSuffix = ".pro" } } }
매니페스트에 애플리케이션 ID를 다음과 같이 삽입할 수 있습니다.
<intent-filter ... >
<action android:name="${applicationId}.TRANSMOGRIFY" />
...
</intent-filter>
'free' 제품 버전을 빌드하는 경우 매니페스트는 다음과 같습니다.
<intent-filter ... >
<action android:name="com.example.myapp.free.TRANSMOGRIFY" />
...
</intent-filter>
자세한 내용은 애플리케이션 ID 설정을 참조하세요.