我想知道是否可以在gradle.build ndk {}块中定义LOCAL_SRC_FILES。
我目前正在使用:
dependencies {
classpath 'com.android.tools.build:gradle:1.3.0'
}
在我的顶级gradle.build文件中。
我的jni模块gradle.build文件如下所示:
apply plugin: 'com.android.library'
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
}
android {
compileSdkVersion 11
buildToolsVersion "22.0.1"
def jniSrc = System.getProperty("user.home") + "/srcs/jni"
defaultConfig {
ndk {
moduleName "core"
stl "gnustl_shared"
cFlags "-std=c++11"
}
}
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
jniLibs.srcDirs = ['libs']
jni.srcDirs = ["${jniSrc}"]
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
jniDebuggable true
}
}
productFlavors {
x86 {
ndk {
abiFilter "x86"
}
}
arm {
ndk {
abiFilter "armeabi-v7a"
}
}
mips {
ndk {
abiFilter "mips"
}
}
}
}
我问的原因是,在我的jni源代码下,有针对不同平台的代码,不仅仅是Android,还有iOS和WinRT。
我有点不愿意迁移到实验性的'com.android.tools.build:gradle-experimental:0.2.0',但如果前面提到的模块解决了这个问题,我可以尝试一下。
我也不想用:
jni.srcDirs = []
并覆盖Android.mk的创建,因此使用我自己的自定义,因为我不确定我是否可以从Android Studio本地调试C ++(虽然我可能错了,但我绝对不是Android Studios的专家用户ndk插件)。
提前谢谢了,
相关分类