[Bug 757732] New: Failure to load gstreamer_android.so on Android >= 6.0

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Sat Nov 7 05:16:41 PST 2015


https://bugzilla.gnome.org/show_bug.cgi?id=757732

            Bug ID: 757732
           Summary: Failure to load gstreamer_android.so on Android >= 6.0
    Classification: Platform
           Product: GStreamer
           Version: 1.6.1
                OS: other
            Status: NEW
          Severity: major
          Priority: Normal
         Component: cerbero
          Assignee: gstreamer-bugs at lists.freedesktop.org
          Reporter: alex at ireporty.com
        QA Contact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---

Due to the latest changes in Android 6.0 runtime
(http://developer.android.com/intl/ko/about/versions/marshmallow/android-6.0-changes.html#behavior-runtime)

Each module should explicitly define it's SONAME. since the building scripts
for building android_gstreamer.so don't define soname the library is built
without one. This will cause a failure in loading any library that uses
libgstreamer_android.so.

E/AndroidRuntime: java.lang.UnsatisfiedLinkError: dlopen failed: library
"./obj/local/armeabi-v7a/libgstreamer_android.so" not found
E/AndroidRuntime:     at java.lang.Runtime.loadLibrary(Runtime.java:372)
E/AndroidRuntime:     at java.lang.System.loadLibrary(System.java:1076)

The quick fix is to add: 

TARGET_LDFLAGS := -Wl,-soname,libgstreamer_android.so

in your Android.mk file before calling:
include $(GSTREAMER_NDK_BUILD_PATH)/gstreamer-1.0.mk

The appropriate fix should be to change GSTREAMER_LD in gstreamer-1.0.mk:

GSTREAMER_LD                  := -fuse-ld=gold

with:

GSTREAMER_LD                  := -fuse-ld=gold
-Wl,-soname,libgstreamer_android.so

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list