title: JNI proguard obfuscation
body: <p>I have problem with obfuscation. For a better imagination:</p>
  
  <p>JAVA CODE</p>
  
  <pre><code>class JniTest...
  
  public void test()
  {
      //some code
  }
  
  public void runJniCode()
  {
      //here I call native code
  }
  </code></pre>
  
  <p>NATIVE CODE</p>
  
  <pre><code>JNIEXPORT void JNICALL
  Java_path_to_class_test(JNIEnv* env, jobject  obj)
  {
      //here I call test method from Java
  
  }
  </code></pre>
  
  <p>Everything works fine until I want to release an obfuscated version. The name of the Java class (<code>JniTest</code> for example) and method <code>test</code> in this class are renamed by proguard to "a" and "a()" (this may not be always same), but in native code the original name of the method and class remain, because it's hardcoded as a string, like:</p>
  
  <pre><code>jmethodID mid = env-&gt;GetMethodID(cls, "test", "someSignature");
  </code></pre>
  
  <p>... is there any way to set the method name dynamically? </p>