title: ddmlib get native library info
body: <p>My task is to analyze method calls and corresponding native libraries of an android app by using ddmlib. I started with creating a simple app for testing purposes that uses jni for calling a function implemented in C (which squares a given number). Then I implemented IMethodProfilingHandler:</p>
  
  <pre><code>@Override
  public void onSuccess(byte[] data, Client client) {
  MethodCallExtractor extractor = MethodCallExtractor.GetInstance();
      List&lt;MethodCall&gt; calls = extractor.extract(data, client);
      System.out.println("methodcalls:");
      for(MethodCall call : calls){
          System.out.println(call);
      }
      printNativeLibraries(client);
  }
  </code></pre>
  
  <p>works and prints the call of the jni function. MethodCallExtractor is a simple parser that returns a List of MethodCalls. My problem is that</p>
  
  <pre><code>private void printNativeLibraries(Client client){
      ClientData clientData = client.getClientData();
      while(clientData.getNativeLibraryMapInfo().hasNext()){
          System.out.println("library: " + clientData.getNativeLibraryMapInfo().next().getLibraryName());
      }
  }
  </code></pre>
  
  <p>does not print anything. Why is the library containing my C function (libsquared.so in my case) not listed in NativeLibraryMapInfo? What do I have to trigger to get NativeLibraryMapInfo initialized properly? </p>
  
  <p>I spent hours experimenting with 'requestNativeHeapInformation()', 'requestAllocationDetails()', 'requestThreadUpdate()' and 
  'executeGarbageCollector()' without success and I cannot find any useful documentation about this issue.</p>
  
  <p>I am using ddmlib-r13</p>