2011-05-11 1 views
1

나는 Necessitas (안드로이드를위한 Qt)와 함께 일하고있다. 모두 잘 돌아갑니다.Necessitas (Android 용 Qt)를 사용하여 프로그래밍하는 사람은 누구입니까?

이제 Android API (예 : GPS)를 사용하기 위해 Dalvik JVM에 연결하려고합니다. 이렇게하려면 내가 JNI를 사용하여 Java 환경을 얻으려고 :

JNIEnv *currEnv; 
currEnv = 0; 
if (m_javaVM->GetEnv((void**)&currEnv,JNI_VERSION_1_4) == JNI_OK) 
{ 
    qDebug() << "GetEnv passed"; 
} 
else 
{ 
    qDebug() << "GetEnv failed"; 
} 

m_javaVM이 Necessitas에서 사용되는 가상 머신에 대한 포인터입니다.

안드로이드 가상 장치에서 응용 프로그램을 실행할 때 항상 GetEnv가 실패하는 문제가 있습니다.

도움을 주시면 감사하겠습니다. 내가 내 아우 질문에 대답하고

+0

난 그냥 (GPS)처럼 같은 일을 할,하지만 난이 Newb입니다, 당신은 JNI를 사용하는 방법을 공유 할 수 있습니다 난에 필요한 반면 같은 뭔가 새로운 ENV를 얻으려면? 고맙습니다.. –

답변

2

는 : GETENV 현재 ENV를 얻을 수 있기 때문에

발생합니다.

if (currVM->AttachCurrentThread((void **)&currEnv, NULL)<0) 
     { 
      emit error("Cannot attach the current thread to the VM"); 
     }