繁体   English   中英

Cordova android - 如何用生成的替换自定义 build.gradle

[英]Cordova android - How to replace custom build.gradle with generated

我有一个cordova项目,我在其中添加了android平台。 现在我需要使用我的 build.gradle 文件而不是生成的文件。

在 plugins.xml 中,我有以下代码可以做到这一点。

<framework src="src/android/build.gradle" custom="true" type="gradleReference" />

但是在添加plugin的时候,这个build.gradle已经被放到了package下。看起来是这样的。

// PLUGIN GRADLE EXTENSIONS START
apply from: "com.test.Name/Name-build.gradle"
// PLUGIN GRADLE EXTENSIONS END

我在生成的 build.gradle 中遇到了以下错误。

Error:(89, 0) Cannot convert relative path libs to an absolute file.

我需要我的自定义 build.gradle 替换自动生成的。 请告诉我如何在plugin.xml中指定这个我使用的cordova版本是6.1.1

官方cordova文档的以下摘录应该对您有所帮助,

扩展build.gradle

如果需要自定义build.gradle,而不是直接编辑它,则应创建名为build-extras.gradle的兄弟文件。 当存在时,主build.gradle将包含此文件。 此文件必须放在android平台目录(/ platforms / android / app)的app文件夹中,因此建议您通过附加到before_build挂钩的脚本将其复制。

这是一个例子:

// Example build-extras.gradle
// This file is included at the beginning of `build.gradle`
ext.cdvDebugSigningPropertiesFile = '../../android-debug-keys.properties'

// When set, this function allows code to run at the end of `build.gradle`
ext.postBuildExtras = {
    android.buildTypes.debug.applicationIdSuffix = '.debug'
}

请注意,插件还可以通过以下方式包含build-extras.gradle文件:

<framework src="some.gradle" custom="true" type="gradleReference"/>

查看官方cordova文档以获取更多信息。 希望能帮助到你。

通过将名为gradle.properties的文件放在您的 Android 平台文件夹(在<your-project>/platforms/android/app/gradle.properties )并在其中设置属性来设置自定义 gradle 文件,如下所示:

 # In <your-project>/platforms/android/app/gradle.properties
 cdvMinSdkVersion=20

但是,您可以通过设置环境变量来替换单个 gradle 属性,如下所示:

 $ export ORG_GRADLE_PROJECT_cdvMinSdkVersion=20
 $ cordova build android

或者在 Cordova 构建或运行命令中使用 --gradleArg 标志,如下所示:

 $ cordova run android -- --gradleArg=-PcdvMinSdkVersion=20

您还可以通过 build-extras.gradle 文件扩展 build.gradle 并像这样设置属性:

 // In <your-project>/platforms/android/app/build-extras.gradle
 ext.cdvMinSdkVersion = 20

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM