2010-07-17 2 views
0

저는 JNI를 처음 사용했습니다. 저는 Android 프로젝트 용 기본 라이브러리를 개발 중입니다. JNI 프로그래밍에 대한 몇 가지 논문을 읽었지만 다른 패키지로 다른 프로젝트 클래스에로드 할 수있는 라이브러리를 만들 수 있는지 이해하지 못했습니다.JNI - 다른 클래스의 라이브러리를 만드는 방법

  • 접두어 "Java_"
  • 부호화 정규화 된 클래스 이름
  • 밑줄 ("_") 분리
  • 부호화 방법 I은 구문은 새로운 JNI 방법을 선언하는 읽기 이름
  • 가능하지 않아야 이러한 정의를 바탕으로

...

내가 패키지에 클래스 A를 정의 있다고 가정 pkg1을 libfoo에 포함 된 네이티브 메소드 foo로 대체 한 다음 pkg2 패키지에 클래스 B를 정의했습니다. libfoo와 B에서 foo 메소드를 사용할 수 있습니까? 결과를 얻기 위해 어떻게 원시 메소드를 정의해야합니까?

감사합니다. JNI의 헤더 스텁 생성기 밖으로

+0

나는 이것이 불가능해서는 안된다고 생각하는 이유를 이해하지 못합니다. 이 일에 대해 당신이 기대하지 않는 것은 무엇입니까? 왜 이것이 실패 할 것이라고 생각합니까? – fadden

답변

2

recommended way to register natives는, JNI의 RegisterNatives를()를 사용하는 것입니다.

원하는 경우 동일한 원시 메소드를 여러 클래스/패키지에 등록 할 수 있어야합니다.

관련 문제