如何从插件覆盖 Cordova 项目的 gradle.properties?
Posted
技术标签:
【中文标题】如何从插件覆盖 Cordova 项目的 gradle.properties?【英文标题】:How to override gradle.properties of a Cordova project from a plugin? 【发布时间】:2021-04-20 21:40:25 【问题描述】:我正在为 android 开发一个 Cordova 插件。它使用了几个依赖项,例如:
com.android.tools.build:gradle:4.1.1
com.google.gms:google-services:3.2.0
到目前为止,如果我将它们添加到plugin.xml
,它们会正确导入(但如果我错了,请纠正我,然后将它们插入到项目的AndroidManifest.xml
中,如下所示:
<framework src="com.android.tools.build:gradle:4.1.1" />
<framework src="com.google.gms:google-services:3.2.0" />
至少这不会引发构建错误。我确实收到了另一个错误:
This project uses AndroidX dependencies, but the 'android.useAndroidX' property is not enabled. Set this property to true in the gradle.properties file and retry.
问题是 Cordova 插件没有 gradle.properties
文件。 Cordova 项目有一个,但手动更改其中的 android.useAndroidX
和 android.enableJetifier
似乎没有帮助:构建仍然会抛出相同的错误。
问题是:如何告诉 Cordova 将 gradle.properties
中的这些值设置为 true
?有没有办法在构建时更新或覆盖gradle.properties
,就像plugin.xml
的内容在AndroidManifest.xml
中注册以及附加到插件的gradle 文件被添加到build.gradle
一样?
【问题讨论】:
【参考方案1】:事实证明它不需要覆盖。在 Cordova 项目的 config.xml
中应添加以下行:
<preference name="AndroidXEnabled" value="true" />
【讨论】:
这不是在修改grade.properties 是的,不是这样。 我的意思是,config.xml 中的那一行对 gradle.properties 没有任何作用。应该,但不是!以上是关于如何从插件覆盖 Cordova 项目的 gradle.properties?的主要内容,如果未能解决你的问题,请参考以下文章
Cordova 6.2.3 没有 WebChromeClient,如何覆盖 onJsPrompt()?