該樓層疑似違規已被系統折疊 隐藏此樓檢視此樓
用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'
}