마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

library(jar) 안에 JNI 를 구현해야 할거 같은데.. 가능한가요?

0 추천

안녕하세요.

이번에 기존 라이브러리(jar) 프로젝트에 JNI 로 .c 를 구현해야 될거 같은데.. 가능한가요?

android studio 의 sample code 로 코드만 보면 정말 명확한데..

기존 프로젝트에 sample hello-jni 를 포팅 하려 하니 이것저것 잘 되지가 않네요.

뭘 부터 물어봐야 할지 막막하네요.

1. 우선 라이브러리 프로젝트에

apply plugin: 'com.android.library'

jni 를 추가하여 jar로 만드는 것이 가능은 한건가요??!!! 

2. .so 파일이 jar에 포함이 되는 건가요??

3. 기존 라이브러리 프로젝트에 jni 폴더는(with hello-jni.c) 어디에 만들어 줘야 하나요?

4. 이래저래 빌드를 했는데 해당 library 로딩시 runtime 에러가 발생해서 보니..

static {
    System.loadLibrary("hello-jni");
}

.so 파일이 생성이 안된거 같은데... 

기존 프로젝트에 관련 코드.so 파일을 생성하려면 뭘 해줘야 하는 걸까요?? ㅠㅠ

 

해야 할게 생각보다 많네요... 뭔지도 잘 모르겠고..

혹시, 관련 문서나 참조할만한 사이트 있으면 링크도 부탁드립니다.

 

감사합니다.

 

까리산적 (350 포인트) 님이 2016년 6월 30일 질문

1개의 답변

0 추천
jar안에 so 파일을 넣을 순 없고 따로 배포 해 주셔야 합니다.

android studio에 NDK 설정하는건 아래 URL을 참조하세요..

https://www.davidlab.net/ko/tech/using-the-android-ndk-with-android-studio-part1/

 

단지 수정할게 다수인지라. 전 eclipse에서 NDK 설정을 한 프로젝트를 만들고, android studio에서 가져와 사용하는 방식을 쓰는게 편하더군요.
익명사용자 님이 2016년 6월 30일 답변
...