В этой собственной деятельности используется общая библиотека с именем «Main» (файл libmain.so) для запуска.
(с кодом NDK /Samples / Нативная активность) < /p>
Это приложение работает нормально. < /p>
Файл «основной» модуль Android.mk: < /p>
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := main
LOCAL_SRC_FILES := main.cpp
LOCAL_LDLIBS := -llog -landroid -lEGL -lGLESv1_CM
LOCAL_STATIC_LIBRARIES := android_native_app_glue game
include $(BUILD_SHARED_LIBRARY)
$(call import-module,android/native_app_glue)
< /code>
Теперь я хочу добавить еще одну общую библиотеку (например, игровой двигатель), используемой «основной» библиотекой.
Я создал модуль «игры» ( libgame.so). < /p>
Но когда я связываю «основной» с «игрой», например: < /p>
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := main
LOCAL_SRC_FILES := main.cpp
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../../game
LOCAL_LDLIBS := -llog -landroid -lEGL -lGLESv1_CM
LOCAL_LDLIBS += $(LOCAL_PATH)/../../libs/$(TARGET_ARCH_ABI)/libgame.so
LOCAL_STATIC_LIBRARIES := android_native_app_glue game
include $(BUILD_SHARED_LIBRARY)
$(call import-module,android/native_app_glue)
< /code>
с кодом без изменений!
Приложение больше не запускается, и у меня есть эта ошибка в logcat: < /p>
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.mycompany.myproject/android.app.NativeActivity}: java.lang.IllegalArgumentException: Unable to load native library: /data/data/com.mycompany.myproject/lib/libmain.so
< /code>
Этот аварий связан с добавлением ссылки в общую библиотеку ... < /p>
Почему ссылка на общую библиотеку Сделайте приложение не загружать (сбой)?
Как я могу использовать общую библиотеку в нативном проекте Android (без Java /Native-Activity)?
(я полагаю это может быть возможно ... в противном случае нативная деятельность вполне Limited ...) < /p>
Спасибо!
Подробнее здесь: https://stackoverflow.com/questions/911 ... e-activity
Мобильная версия