gpt4 book ai didi

来自 gradle.properties 的 Android manifestPlaceholders

转载 作者:行者123 更新时间:2023-12-03 04:57:26 32 4
gpt4 key购买 nike

我想在点击链接时打开一个 Activity (显示带有应用名称的操作选择器)。一切正常,我的应用程序会显示操作选择器,但前提是我不在 manifestPlaceholder 中使用属性名称,否则默认浏览器会打开(没有任何错误)。

我在 gradle.properties 文件中有这些行:

HOST_NAME_DEV="dev.mysite.com"
HOST_NAME_PROD="mysite.com"

我想像这样创建一个 manifestPlaceholder:
// in manifest
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
<data
android:host="${host}"
android:scheme="https" />
</intent-filter>

//in build.gradle
productFlavors {
production {
manifestPlaceholders = [host: HOST_NAME_PROD]
}
develop {
manifestPlaceholders = [host: HOST_NAME_DEV]
}
}

它不起作用。

但是,如果我将字符串粘贴到 manifestPlaceholder 中,一切正常:
productFlavors {
production {
manifestPlaceholders = [host: "mysite.com"]
}
develop {
manifestPlaceholders = [host: "dev.mysite.com"]
}
}

这样也一切正常:
productFlavors {
production {
resValue "string", "host", HOST_NAME_PROD
}
develop {
resValue "string", "host", HOST_NAME_DEV
}
}

// and in manifest
android:host="@string/host"

但我想使用 manifestPlaceholders。

我做错了什么?

最佳答案

问题:在 list 中使用“(双引号)注入(inject)数据。

解决方案:从您的 gradle.properties 值中删除“(双引号)。
像这样:

HOST_NAME_DEV=dev.mysite.com
HOST_NAME_PROD=mysite.com

关于来自 gradle.properties 的 Android manifestPlaceholders,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56041697/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com