У меня есть проект NDK в Android студии, которая добавляет и вычитает 2 номераUnsatisfiedLinkError когда разделяемая библиотека является используемый в Android Studio
@Override
protected void onCreate(Bundle savedInstanceState) {
JniAdapter jniAdapter = new JniAdapter();
Log.d(LOG_TAG, "Sum of 1 and 1 is: " + jniAdapter.add(1, 1));
Log.d(LOG_TAG, "Difference of 1 and 1 is: " + jniAdapter.subtract(1, 1));
}
Операция добавления обеспечивается внешним статической библиотеки и вычитание с помощью внешняя общая библиотека, которые были построены с помощью ol'school ndk-build; Я хочу, чтобы мой файл gradle скомпилировал эти две библиотеки и создал другую общую библиотеку. Но похоже, что статическая библиотека скомпилирована, но не разделяемая библиотека, и я получаю UnSatifiedLinkError для общей библиотеки. Без общей библиотеки все работает нормально. Что происходит не так?
Мой Gradle файл
apply plugin: 'com.android.model.application'
model {
android {
.....
defaultConfig.with {
.......
}
}
android.ndk {
moduleName = "native"
ldLibs += ["mySharedLib"]
ldLibs += ["myStaticLib"]
cppFlags += "-I${staticLibIncludeRoot}".toString()
cppFlags += "-I${sharedLibIncludeRoot}".toString()
}
android.productFlavors {
create ("arm7") {
ndk.abiFilters += "armeabi-v7a"
ndk.ldFlags += "-L${staticLibRoot}/armeabi-v7a".toString()
ndk.ldFlags += "-L${sharedLibRoot}/armeabi-v7a".toString()
}
}
}
dependencies {
.....
}