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

Nee*_*ela 5 android cordova build.gradle cordova-plugins cordova-plugin-file

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

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

<framework src="src/android/build.gradle" custom="true" type="gradleReference" />
Run Code Online (Sandbox Code Playgroud)

但是在添加插件时,这个build.gradle已经放在包下了.看起来像这样.

// PLUGIN GRADLE EXTENSIONS START
apply from: "com.test.Name/Name-build.gradle"
// PLUGIN GRADLE EXTENSIONS END
Run Code Online (Sandbox Code Playgroud)

而且我在生成的build.gradle中遇到错误.

Error:(89, 0) Cannot convert relative path libs to an absolute file.
Run Code Online (Sandbox Code Playgroud)

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

Gan*_*dhi 16

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

扩展build.gradle

如果需要自定义build.gradle,而不是直接编辑它,则应创建名为build-extras.gradle的兄弟文件.当存在时,主build.gradle将包含此文件.此文件必须放在appandroid平台目录(/ platforms/android/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'
}
Run Code Online (Sandbox Code Playgroud)

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

<framework src="some.gradle" custom="true" type="gradleReference"/>
Run Code Online (Sandbox Code Playgroud)

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

  • @darewreck尝试将文件放在`platforms/android/app`子文件夹中(参见[my PR for cordova-docs](https://github.com/apache/cordova-docs/pull/810)) (2认同)
  • 我需要将maven存储库移动到cordova android中存在的所有3 build.gradle中的第一位.可以扩展build.gradle文件吗? (2认同)