将构建变量插入清单

原文:Inject Build Variables into the Manifest

如果您需要将变量插入到您的build.gradle文件中定义的AndroidManifest.xml文件中,则可以使用manifestPlaceholders属性。 此属性采用键值对的映射,如下所示:

android {
    defaultConfig {
        manifestPlaceholders = [hostName:"www.example.com"]
    }
    ...
}

然后,您可以将一个占位符作为属性值插入到清单文件中,如下所示:

<intent-filter ... >
    <data android:scheme="http" android:host="${hostName}" ... />
    ...
</intent-filter>

默认情况下,构建工具还会在${applicationId}占位符中提供应用程序的application ID。 该值总是匹配当前构建的最终应用程序ID(包括构建变体的更改)。当您要为标识符(例如意图操作)使用唯一的命名空间时(甚至在构建变体之间),这是非常有用的。

例如,如果您的build.gradle文件如下所示:

android {
    defaultConfig {
        applicationId "com.example.myapp"
    }
    productFlavors {
        free {
            applicationIdSuffix ".free"
        }
        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>

有关更多信息,请阅读设置Set the Application ID

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值