[RK3399][Android7.1] 除錯筆記 --- 預編譯呼叫第三方庫
阿新 • • 發佈:2018-12-16
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)