我有一個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的版本。 –