唉,想多了。一开始看到报错,首先想这就是将
va_list args = NULL;
改为
va_list args = 0;
结果还是报错,就没想着不初始化试一下。还折腾了一中午!!真心惭愧。
改为
va_list args;
就可以了。

解决方案 »

  1.   

    va_list 并不保证是指针。这也不是有效的 C 语言。
    那一行可以修改成简单易读的代码:
    va_list args;
    假如代码不是以 va_start 初始化,就不能认为是空的。 
      

  2.   


           jclass jclazz = (*env)->FindClass( env,"cn/wen/ndkcallback/MainActivity"); //2找到方法 method ID
    jmethodID jmtID = (*env)->GetMethodID(env,jclazz,"toToast","()V"); va_list args; // 这样定义就可以通过了。
    (*env)->CallVoidMethodV(env,jobj,jmtID,args);
    折腾了一个下午……