问题在于你的线程没有被附加(或不正确地附加)到VM上。 当你通过JNI桥从Java调用C++时,你的调用所在的pthread会与VM附加。 在C++中有被JNI调用的线程是很不稳定的。 你可能做的是新建了一个线程,并试图在没有将其附加到VM之前从中进行调用。 我认为解决你的问题只需要将你的线程附加到VM即可。因此,如果你查看Android技巧和诀窍,有一个关于这个主题的部分。 如果你进入线程部分,你可以看到他们清楚地说: 在线程附加之前,它没有JNIEnv,也不能进行JNI调用。 你可以在提供的链接中找到详细的解决步骤。发布你的进展...