在cordova创建android项目时,有没有办法指定gradle版本?

在cordova创建android项目时,有没有办法指定gradle版本?,android,android-ndk,java-native-interface,android-gradle-plugin,cordova-plugins,Android,Android Ndk,Java Native Interface,Android Gradle Plugin,Cordova Plugins,我正在使用最新的Cordova 5.4.0,当我执行“Cordova平台添加android”时,Cordova为gradle 2.1.1创建gradle.build。我需要为Android插件实现一些JNI C++代码,但是这个版本不支持NDK,并且我不能将NDK相关的部分添加到构建文件中,以引入NDK支持和设置模块名。添加此类节会导致生成错误(Gradle sync失败:找不到Gradle DSL方法:“ndk()”) 根据本手册,我试图添加以下部分 android.ndk { modu

我正在使用最新的Cordova 5.4.0,当我执行“Cordova平台添加android”时,Cordova为gradle 2.1.1创建gradle.build。我需要为Android插件实现一些JNI C++代码,但是这个版本不支持NDK,并且我不能将NDK相关的部分添加到构建文件中,以引入NDK支持和设置模块名。添加此类节会导致生成错误(Gradle sync失败:找不到Gradle DSL方法:“ndk()”)

根据本手册,我试图添加以下部分

android.ndk {
   moduleName = "mymodule"
}

那么,有没有办法强迫cordova为2.8或2.9等新的gradle版本生成gradle.build?仅仅将构建文件中的gradle版本从2.2.1更改为2.8不起作用,因为有新的“model”根命名空间,可能还需要其他更改。

目前可能不可能。将cpp代码集成到cordova android项目的最佳方法是创建单独的JNI项目,使用ndk build为所有可能的平台构建LIB,并以这种方式将LIB集成到plugin.xml中的插件中


我也遇到了这个问题,我帮了忙,但不得不做一些改变

以下是为我修好它的步骤

在应用程序的根文件夹中创建
gradle.properties
(如果它不存在)(其中
AndroidManifest.xml
是)

添加以下行:

android.usedpreprecatedndk=true

在build.gradle文件中,在
android{defaultConfig{…}}

android {
    ...
    defaultConfig {
        ...
        ndk {
            moduleName "native"
        }
    }
}
如果Android Studio提示您更改gradleVersion,您可能需要更改gradleVersion


重建您的项目并编译它。

应该注意的是,android.UseDeprecatedNDDK=true中的行