title: Android NDK can't find JNI_GetCreatedJavaVMs after update from r6 to r7
body: <p>I've updated my NDK version from r6 to r7. After that I get this error when compiling one of my native files:</p>
  
  <blockquote>
    <p>error: 'JNI_GetCreatedJavaVMs' was not declared in this scope</p>
  </blockquote>
  
  <p>I am building my project for the API level 8 (Android 2.2). I've examined the </p>
  
  <blockquote>
    <p>(MY_NDK_PATH_R6)/android-8/arch-arm/usr/include/jni.h</p>
  </blockquote>
  
  <p>where the <code>GetCreatedJavaVMs</code> is declared and the file <code>jni.h</code> is actually a symlink to </p>
  
  <blockquote>
    <p>(MY_NDK_PATH_R6)/platforms/android-3/arch-arm/usr/include/jni.h</p>
  </blockquote>
  
  <p>Then I checked the </p>
  
  <blockquote>
    <p>(MY_NDK_PATH_R7)/platforms/android-8/arch-arm/usr/include/jni.h</p>
  </blockquote>
  
  <p>and it is actually a file, and not a symlink.</p>
  
  <p>I'm building my project using Eclipse and the only thing I've specified in preferences is path to the <code>ndk-build</code>.</p>
  
  <p>EDIT: OK, it's clear now why GetCreatedJavaVMs could not be found:</p>
  
  <pre><code>/*
   * VM initialization functions.
   *
   * Note these are the only symbols exported for JNI by the VM.
   */
  #if 0  /* In practice, these are not exported by the NDK so don't declare them */
  jint JNI_GetDefaultJavaVMInitArgs(void*);
  jint JNI_CreateJavaVM(JavaVM**, JNIEnv**, void*);
  jint JNI_GetCreatedJavaVMs(JavaVM**, jsize, jsize*);
  #endif
  </code></pre>
  
  <p>But how should I get the VM in this case?</p>