Создание приложения для Android с использованием библиотеки OpenMAX в ГБ, но показ не найден?

Я пытаюсь разработать приложение для Android в пряниках, используя OpenMAX-AL.

В основном библиотека openMAX-AL не поддерживается в GingerBread. Поэтому я использую openmax-al libray из ics (путем создания исходного кода). Я могу скомпилировать свое примерное приложение с использованием этой библиотеки без ошибок после установки в Ginger. Хлеб показывает ошибку, как показано ниже. А также я попытался вставить библиотеку в папку lib моего приложения, все та же ошибка.

Что мне делать, чтобы использовать библиотеку openmax-al в пряниках. Может ли кто-нибудь предложить мне идею, я борюсь за последнюю неделю? Заранее спасибо.

used in Android.mk file to compile:
LOCAL_LDLIBS := $(LIB)/libOpenMAXAL.so 

05-21 16:31:37.270: E/AndroidRuntime(28217): java.lang.ExceptionInInitializerError
05-21 16:31:37.270: E/AndroidRuntime(28217):    at java.lang.Class.newInstanceImpl(Native Method)
05-21 16:31:37.270: E/AndroidRuntime(28217):    at java.lang.Class.newInstance(Class.java:1409)
05-21 16:31:37.270: E/AndroidRuntime(28217):    at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
05-21 16:31:37.270: E/AndroidRuntime(28217):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1610)
05-21 16:31:37.270: E/AndroidRuntime(28217):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1716)
05-21 16:31:37.270: E/AndroidRuntime(28217):    at android.app.ActivityThread.access$1500(ActivityThread.java:124)
05-21 16:31:37.270: E/AndroidRuntime(28217):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:968)
05-21 16:31:37.270: E/AndroidRuntime(28217):    at android.os.Handler.dispatchMessage(Handler.java:99)
05-21 16:31:37.270: E/AndroidRuntime(28217):    at android.os.Looper.loop(Looper.java:123)
05-21 16:31:37.270: E/AndroidRuntime(28217):    at android.app.ActivityThread.main(ActivityThread.java:3806)
05-21 16:31:37.270: E/AndroidRuntime(28217):    at java.lang.reflect.Method.invokeNative(Native Method)
05-21 16:31:37.270: E/AndroidRuntime(28217):    at java.lang.reflect.Method.invoke(Method.java:507)
05-21 16:31:37.270: E/AndroidRuntime(28217):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
05-21 16:31:37.270: E/AndroidRuntime(28217):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
05-21 16:31:37.270: E/AndroidRuntime(28217):    at dalvik.system.NativeStart.main(Native Method)
05-21 16:31:37.270: E/AndroidRuntime(28217): Caused by: java.lang.UnsatisfiedLinkError: Cannot load library: link_image[1964]:  1240 could not load needed library 'libOpenMAXAL.so' for 'libnative-media-jni.so' (load_library[1106]: Library 'libOpenMAXAL.so' not found)
05-21 16:31:37.270: E/AndroidRuntime(28217):    at java.lang.Runtime.loadLibrary(Runtime.java:434)
05-21 16:31:37.270: E/AndroidRuntime(28217):    at java.lang.System.loadLibrary(System.java:554)
05-21 16:31:37.270: E/AndroidRuntime(28217):    at com.example.nativemedia.NativeMedia.<clinit>(NativeMedia.java:338)
05-21 16:31:37.270: E/AndroidRuntime(28217):    ... 15 more

с уважением В.С.


person vigneshwaran sekar    schedule 21.05.2013    source источник


Ответы (1)


Во время связывания загрузчик будет искать ссылки на символы только в динамически подключаемых библиотеках.

То, что вы пробовали, может быть скопировано OPENMAXAL.so в android-8/usr/lib, а затем скомпилировано, но когда приложение запускается, любая библиотека связана, как показано ниже.

LOCAL_LDLIBS += -lOpenMAXAL

должен быть в андроиде /system/libs/. Насчет ГБ такого не будет! Вы пытались нажать так на /system/lib/?

person nmxprime    schedule 07.02.2014