用makefile编译出来的libNetSDK.so,带头文件。想在android studio中创建一个模块,对它进行封装,便于调用.。
于是,我建了个netsdkutil模块。
我将这个要调用的库放在netsdkutil\src\main\jniLibs\armeabi目录下
头文件及封装的cpp文件放在netsdkutil\src\main\jni 下
但make module时,出现
Error:(26) undefined reference to 'xxx'的错误,请问该怎么修改?
以下为整个模块的gradle:
apply plugin: 'com.android.model.library'
model{
android {
compileSdkVersion = 23
buildToolsVersion = "23.0.2"
defaultConfig.with {
minSdkVersion.apiLevel = 14
targetSdkVersion.apiLevel = 23
versionCode = 1
versionName = "1.0"
}
tasks.withType(JavaCompile) {
sourceCompatibility = JavaVersion.VERSION_1_7
targetCompatibility = JavaVersion.VERSION_1_7
}
}
android.ndk {
moduleName = "NetSdkUtil"
ldLibs += ["android", "log"]
cppFlags += "-fexceptions"
cppFlags += "-L${file("src/main/jniLibs/armeabi")} -lNetSDK".toString()
cppFlags += "-I${file("src/main/jni")}".toString()
abiFilters += "armeabi"
//abiFilters +="armeabi-v7a"
//abiFilters +="x86"
}
android.buildTypes {
release {
minifyEnabled = false
//proguardFiles += file( 'proguard-rules.pro')
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:23.1.1'
}
于是,我建了个netsdkutil模块。
我将这个要调用的库放在netsdkutil\src\main\jniLibs\armeabi目录下
头文件及封装的cpp文件放在netsdkutil\src\main\jni 下
但make module时,出现
Error:(26) undefined reference to 'xxx'的错误,请问该怎么修改?
以下为整个模块的gradle:
apply plugin: 'com.android.model.library'
model{
android {
compileSdkVersion = 23
buildToolsVersion = "23.0.2"
defaultConfig.with {
minSdkVersion.apiLevel = 14
targetSdkVersion.apiLevel = 23
versionCode = 1
versionName = "1.0"
}
tasks.withType(JavaCompile) {
sourceCompatibility = JavaVersion.VERSION_1_7
targetCompatibility = JavaVersion.VERSION_1_7
}
}
android.ndk {
moduleName = "NetSdkUtil"
ldLibs += ["android", "log"]
cppFlags += "-fexceptions"
cppFlags += "-L${file("src/main/jniLibs/armeabi")} -lNetSDK".toString()
cppFlags += "-I${file("src/main/jni")}".toString()
abiFilters += "armeabi"
//abiFilters +="armeabi-v7a"
//abiFilters +="x86"
}
android.buildTypes {
release {
minifyEnabled = false
//proguardFiles += file( 'proguard-rules.pro')
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:23.1.1'
}