OSDN Git Service

Log if dlopen(3) fails.
authorElliott Hughes <enh@google.com>
Wed, 26 Sep 2012 23:40:41 +0000 (16:40 -0700)
committerElliott Hughes <enh@google.com>
Wed, 26 Sep 2012 23:40:41 +0000 (16:40 -0700)
It turns out that some apps swallow the UnsatisfiedLinkError, making it
really hard to work out why they failed to launch.

Before:
  D dalvikvm: Trying to load lib /data/app-lib/com.adobe.air-1/libCore.so 0x415be8a8
  W dalvikvm: No implementation found for native Lcom/adobe/air/AIRWindowSurfaceView;.nativeSurfaceCreated:()V

After:
  D dalvikvm: Trying to load lib /data/app-lib/com.adobe.air-1/libCore.so 0x415be8a8
  E dalvikvm: dlopen("/data/app-lib/com.adobe.air-1/libCore.so") failed: Cannot load library: soinfo_relocate(linker.cpp:975): cannot locate symbol "_ZN7android10VectorImpl19reservedVectorImpl1Ev" referenced by "libCore.so"...
  W dalvikvm: No implementation found for native Lcom/adobe/air/AIRWindowSurfaceView;.nativeSurfaceCreated:()V

Bug: 7093208
Change-Id: Ib751fb959d49cb872d586f299e62ed6aae783de9

vm/Native.cpp

index be719a7..8892c2a 100644 (file)
@@ -385,6 +385,7 @@ bool dvmLoadNativeCode(const char* pathName, Object* classLoader,
 
     if (handle == NULL) {
         *detail = strdup(dlerror());
+        ALOGE("dlopen(\"%s\") failed: %s", pathName, *detail);
         return false;
     }