0
C
라이브러리에서 메소드를 호출 할 때 JNI
을 사용하는 프로젝트가 있습니다.작동중인 프로젝트에서 .so 라이브러리를 다른 프로젝트로 통합 할 수 없습니다.
static {
System.loadLibrary("RemoveBackground");
}
그것은 잘 작동합니다
내 프로젝트의 구조 :로드 라이브러리가
그리고 코드입니다. 하지만 다른 프로젝트에서이 기능을 통합하려고 할 때까지. jni
및 libs
폴더를 복사했습니다. 또한 모두 three classes
없이 RemoveBackgroundActivity
(테스트 활동).
1663-1663/com.example.Activities E/dalvikvm﹕ The lib may be ARM... trying to load it [/data/data/com.example.Activities/lib/libRemoveBackground.so] using houdini
1663-1663/com.example.Activities E/dalvikvm﹕ dvmHoudiniDlopen returns 0x9833cf40 with bool=1
당신이 문제이나이 작업을 수행하는 다른 방법으로 해결하는 방법을 알고 계십니까 :이 프로젝트를 컴파일 할 때 나는 exeption이?
1) IDEA는 확실하지 않지만 Eclipse에서는 프로젝트의 기본 개발을 활성화해야합니다. 디렉토리를 복사 할 수는 없습니다. 2) 다른 라이브러리를 연결하지 않는다면 libs 디렉토리가 필요하다고 생각합니다. 나 부분은 다른 프로젝트에 내장 된 라이브러리를로드하려고한다고 생각합니다. 3) Application.mk에 무엇이 있습니까? 일반적으로 필요하지 않습니다. 4) 네이티브 메소드를 명시 적으로 등록하지 않는 한, JNI 호출은 패키지 이름 때문에 업데이트해야 할 필요가있을 것입니다 (향후 문제 일 수 있음). – Dave