2016-01-05 7 views

ответ

1

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

Но вы можете создать динамическую библиотеку, связанную с вашей статической библиотекой. Si вам просто нужно добавить несколько строк для Android.mk, чтобы связать эту статическую библиотеку. Поместите свой предварительно построенный .a и его заголовок в готовое jni вместе со своей папкой jni. Тогда ваш Android.mk должен выглядеть примерно так:

LOCAL_PATH := $(call my-dir) 

include $(CLEAR_VARS) 
LOCAL_MODULE := YourStaticLib 
LOCAL_SRC_FILES := ../prebuilt/your_static_lib_prebuild.a 
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/../prebuilt 
include $(PREBUILT_STATIC_LIBRARY) 

include $(CLEAR_VARS) 

LOCAL_MODULE := DynamicLib 
LOCAL_C_INCLUDES := $(LOCAL_PATH) \ 
       $(LOCAL_PATH)/../prebuilt 
LOCAL_SRC_FILES := your_src_file.cpp 
LOCAL_LDLIBS := -llog 
LOCAL_ARM_NEON := true 

LOCAL_STATIC_LIBRARIES := YourStaticLib 

include $(BUILD_SHARED_LIBRARY) 
+0

спасибо за быстрый ответ. Здесь у меня мало сомнений. Как добавить файл Android.mk в студию Android? – Pradeep

+0

Добро пожаловать. Что вы использовали для создания собственного кода? – sonic

+0

Я использую «com.android.tools.build:gradle-experimental:0.4.0». Это любой другой способ построить без Android.mk. Нет ли других путей, тогда PLS поможет мне переопределить ndk_build в файле build.gradle ... – Pradeep