80,471
社区成员




LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := test_jni
LOCAL_LDLIBS := \
-llog \
LOCAL_SRC_FILES := \
/home/ameyume/testproject/TestJni/app/src/main/jni/Abc.cpp \
/home/ameyume/testproject/TestJni/app/src/main/jni/com_ameyume_TestJni.cpp \
LOCAL_C_INCLUDES += /home/ameyume/testproject/TestJni/app/src/main/jni
LOCAL_C_INCLUDES += /home/ameyume/testproject/TestJni/app/src/debug/jni
include $(BUILD_SHARED_LIBRARY)
sourceSets.main {
jniLibs.srcDir 'src/main/jni'
jni.srcDirs = [] //disable automatic ndk-build call
}
// call regular ndk-build(.cmd) script from app directory
task ndkBuild(type: Exec) {
commandLine 'ndk-build', '-C', file('src/main/jni').absolutePath
}
tasks.withType(JavaCompile) {
compileTask -> compileTask.dependsOn ndkBuild
}
这几段注释掉看看可以运行么apply plugin: 'com.android.library'
android {
compileSdkVersion 22
buildToolsVersion "22.0.1"
defaultConfig {
minSdkVersion 21
targetSdkVersion 22
versionCode 1
versionName "1.0"
/* required */
/**
* current ndk support is deprecated
* wait for the new gradle ndk support from google
* and call ndk-build from command line to solve jni compile
*/
ndk {
moduleName "media_jni" // 你的 ndk 模块名字, JNI调用的时候需要load它 System.loadLibrary("media_jni");
ldLibs "log" // log模块是必须的
stl "stlport_static" // Use static stlport library
abiFilters "armeabi", "armeabi-v7a", "arm64-v8a"
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
sourceSets.main {
jniLibs.srcDir 'src/main/jni'
jni.srcDirs = [] //disable automatic ndk-build call
}
// call regular ndk-build(.cmd) script from app directory
task ndkBuild(type: Exec) {
commandLine 'ndk-build', '-C', file('src/main/jni').absolutePath
}
tasks.withType(JavaCompile) {
compileTask -> compileTask.dependsOn ndkBuild
}
productFlavors {
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
}
参考了:android studio编译C++问题