2012-06-13 126 views

回答

1

要獲得JNIEnv,您可以編寫將在加載共享庫期間調用的全局函數JNI_OnLoad。該函數將獲得JavaVM指針作爲參數。使用它,您可以獲得JNIEnv當前線程(或者如果之前沒有JNIEnv,則創建一個新線程)。

至於在哪裏得到jobject - 如果這是你正在實例化的新對象,那麼你使用JNIEnv::NewObject方法。否則,你需要將你想調用java方法的對象傳遞給C/C++。

+0

什麼是共享庫?他直接從C打電話。 – EJP

+0

什麼是「直接來自C」?如果你想在Android上運行你的C代碼,那麼你必須把C代碼放在共享庫中 - 這是唯一官方支持的方式。 –