我有一个Android库项目,它通过Android NDK在C/C++中有一部分。 该项目在一年前开始,所以我们选择使用Experimental Plugin,因为它有更好的NDK支持。我现在使用gradle-experimental:0.8.2
。我有一个com.android.model.native
模块,我想将它迁移到gradle:2.2.0
。我在Gradle Android Plugin DSL中看到的唯一选项是:将原生模块从Gradle实验性插件迁移到稳定Gradle
- AppExtension:android extension for
com.android.application
projects。 - LibraryExtension:Android扩展为
com.android.library
项目。 - TestExtension:android扩展为
com.android.test
项目。
所以问题是如何使用稳定的gradle插件在gradle中创建纯原生模块?
这里是我当前的本地模块:
apply plugin: 'com.android.model.native'
apply from: "../config.gradle"
def config = ext.configuration
model {
android {
compileSdkVersion = config.compileSdkVersion
buildToolsVersion = config.buildToolsVersion
defaultConfig {
minSdkVersion.apiLevel = config.minimumSdkVersion
targetSdkVersion.apiLevel = config.targetSdkVersion
versionCode = 1
versionName = '1.0'
}
ndk {
moduleName = 'apicore'
platformVersion = config.minimumSdkVersion
cppFlags.add("-std=c++11")
cppFlags.add("-pthread")
cppFlags.add("-fexceptions")
cppFlags.add("-frtti")
stl = "gnustl_static"
abiFilters.addAll(config.targetPlatforms)
ldLibs.addAll(['android', 'log'])
}
sources {
main {
jni {
source {
//include "someFile.txt"
// This is ignored.
exclude "main.cpp"
exclude "misc/APITest.cpp"
exclude "misc/APITest.h"
}
}
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles.add(file('proguard-android.txt'))
}
}
}
}
我不明白你真正想要什么。把你的应用程序'classpath'的'build.gradle'放到com.android.tools.build:gradle:2.2.2''中,告诉我们当你的应用程序完成项目的构建时发生了什么。 –
稳定的gradle没有'com.android.model.native'插件 – emKaroly
这是您的应用程序的'build.gradle',这个项目还有另一个'build.gradle'。在那里你可以找到你的Gradle的版本。 –