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 exportJar(type: Copy) {
from( 'build/intermediates/bundles/debug/' )
into( 'libs/' )
include( 'classes.jar' )
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가 나는데 뭐 혹시 빠트린 부분이 있는건가요?