2012-03-29 3 views
0

저는 C++을 사용하여 Android 개발 프로젝트를 진행 중이며 OpenFeint를 구현하려고합니다. 몇 가지 비 정적 Java 메소드를 호출하고 C++ 코드에서 몇 가지 클래스를 인스턴스화해야하며이를 위해 JNI 함수를 올바르게 사용하는 방법을 배워야합니다.JNI 함수의 사용법은 어디에서 알 수 있습니까?

문제에 대한 포괄적 인 문서 또는 자습서는 어디에서 찾을 수 있습니까? 지금까지 Sun의 사이트에서 내가 발견 한 것은 불완전하거나 부끄럽지 않으며 클래스 메소드 참조조차 가지고 있지 않습니다.

+0

당신은 아래 링크의 도움이 걸릴 수 있습니다 추천 : - http://marakana.com/forums/android/examples/96.html –

+0

예를 주위에 다른 방법입니다. C++에서 자바 코드를 호출하고 싶습니다.이 예제에서는 java에서 C++ 코드를 호출합니다. –

답변

2

저는 항상 JNI Programmer's guide이 매우 유용하다는 것을 알고 있습니다.
귀하가 질문을 직접 게시하는 경우가 아니라면 SO가 도움이 될 것이라고 확신합니다. 그리고 당신은 그것을 커버 후 특별히이 section는 JNI를 사용하는 자신감을 느낄 것이다

0

불행하게도 많은 JNI에 대한 좋은 문서가 없습니다.

하지만 너는 모양이 here 일 수 있습니다. 필요한 것은 아마도 creation이고 물론 invocation입니다.

+0

그게 내가 말하고있는 미숙 한 의사 야. JNIEnv를위한 메소드의 정의는 존재하지 않습니다. 이것은 어떻게 작동 하는지를 누구나 이해할 수있는 PRIMORDIAL입니다. –

+0

@EfEs : 게시해야합니다. 그리고 AFAIK 이것이 당신이 얻을 수있는 최선의 것입니다. 이렇게 돼서 미안하다. 그러나 방법의 정의에 의해 의미하는 것은 무엇입니까? 당신이 더 구체적이라면 나는 당신이 도움을받을 것이라고 확신합니다. – mkaes

+0

가능한 모든 메소드가있는 javadoc 스타일의 단일 페이지를 의미합니다. 이들 모두에 대한 정의는 웹을 통해 흩어져 있으며 "전화 메서드 제품군을 사용하여 인터페이스 메서드를 호출 할 수도 있습니다"와 같은 텍스트 스 니펫에서 느슨하게 정의됩니다. –

2

안드로이드에 얼마가 적용되는지는 확실하지 않지만 공식 jni 사양은 here입니다. jniEnv의 멤버는 c 함수로 나열되며, 첫 번째 매개 변수 (jniEnv)는 C++에서 제외됩니다.

관련 문제