linux(Ubuntu 환경)에서 .so파일을 생성한 뒤 Windows의 Android studio에 추가해주었습니다.
app>src>main>jniLib>{ABI(armeabi, arbeabi-v7a, x86)}>libmain.so
그리고 .so 파일을 .zip파일로 압축한 후 .jar로 형식을 바꿔준 뒤 app>libs>main.jar에 추가하였습니다.
그리고 app/build.gradle에
ndk { abiFilters "armeabi", "armeabi-v7a", "x86" packagingOptions { exclude '/lib/armeabi/libgnustl_shared.so' exclude '/lib/armeabi-v7a/libgnustl_shared.so' exclude '/lib/x86/libgnustl_shared.so' }
sourceSets{ main{ jni.srcDirs = [] jniLibs.srcDirs 'libs' dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) }
task deleteOldJar(type: Delete) { delete 'libs/main.jar' //task to export contents as jar task exportJar(type: Copy) { from('build/intermediates/bundles/debug/') // or build/intermediates/bundles/release/ into('libs/') include('classes.jar') ///Give whatever name you want to give rename('classes.jar', 'main.jar') exportJar.dependsOn(deleteOldJar, build)
추가하고 gradle.properties에
android.useDeprecatedNdk=true
추가한 후
static { System.loadLibrary("main"); }
이 부분에서
java.lang.UnsatisfiedLinkError: dlopen failed: library "libgnustl_shared.so" not found
이런 Error가 나는데 뭐 혹시 빠트린 부분이 있는건가요?