1. 程式人生 > >[RK3399][Android7.1] 除錯筆記 --- 預編譯呼叫第三方庫

[RK3399][Android7.1] 除錯筆記 --- 預編譯呼叫第三方庫

Platform: RK3399 OS: Android 7.1 Kernel: v4.4.83

背景: 現在在Framework層及以下經常會呼叫到第三方的C++演算法庫,比如語音識別,人臉識別等等。 例如我這裡是JNI呼叫一個語音處理庫,這些庫廠商會以非開源的so庫檔案形式提供。 JNI在編譯時需要依賴它,所以需要先預編譯安裝第三方庫。

解決方法: 在同一個Android.mk中編寫就行:

LOCAL_PATH:= $(call my-dir)
/*此段是預編譯第三方庫部分*/
include $(CLEAR_VARS)
LOCAL_MODULE := libaspmodule
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := libaspmodule.so
LOCAL_MODULE_STEM :=$(LOCAL_MODULE)
LOCAL_MODULE_SUFFIX := $(suffix $(LOCAL_SRC_FILES))
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
include $(BUILD_PREBUILT)

/*此段是呼叫前面第三方庫編譯JNI生成so部分*/
include $(CLEAR_VARS)
LOCAL_C_INCLUDES:= external/tinyalsa/include
LOCAL_SRC_FILES:= com_ecovacs_lib_digmic_DigMic.c
LOCAL_MODULE := libdigmic
LOCAL_SHARED_LIBRARIES:= libcutils libutils libtinyalsa libaspmodule
LOCAL_MODULE_TAGS := optional
include $(BUILD_SHARED_LIBRARY)