【问题标题】:Android NDK thread aborts programAndroid NDK 线程中止程序
【发布时间】:2011-04-23 01:59:44
【问题描述】:

为什么这个 c++ (NDK) 线程会导致整个程序崩溃?

{   
sleep(2);

// The JNIEnv
JNIEnv* jenv = NULL;

// attach thread to running JVM
int err = jvm->AttachCurrentThread(&jenv, NULL);

char szerr[256];
sprintf(szerr, "AttachCurrentThread() returned: %d", err);

__android_log_print(ANDROID_LOG_ERROR, "MYPROG", szerr);

jvm->DetachCurrentThread();

sleep (5);
}

szerr 为 0,如果我不 AttachCurrentThread,程序将不会中止。堕胎 在控制台 / logcat 中没有指示任何错误。

有什么帮助吗?

【问题讨论】:

    标签: android multithreading sdk java-native-interface android-ndk


    【解决方案1】:

    看看这个:

    http://comments.gmane.org/gmane.comp.handhelds.android.ndk/4687

    也许你应该在调用AttachCurrentThread()之前使用GetEnv()查看环境是否设置好(否则不需要)。更多信息here

    【讨论】:

    • 谢谢你,但我不会再追求这个了。顺便说一句,我想我可能已经解决了......:/无论如何,那些东西被遗弃了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-07
    • 1970-01-01
    • 2021-10-17
    • 1970-01-01
    • 1970-01-01
    • 2011-10-25
    • 1970-01-01
    相关资源
    最近更新 更多