【问题标题】:Calling library method inside .a file在 .a 文件中调用库方法
【发布时间】:2017-04-25 13:15:14
【问题描述】:

我使用的是 Android Studio 2.1.3。

我在 .a 文件中有静态库二进制文件:

libconfig.a

我有我需要在库上调用的方法签名:

CLIENT_ConfigIPCWifi(szDeviceSN, szSSID, szSSIDPassword, nWaitTime);

问题:我将如何调用该方法?

【问题讨论】:

    标签: android android-studio android-ndk .a


    【解决方案1】:

    您的 app/src/main/jni 文件夹中需要一个 Android.mk 文件。它应该是这样的

    LOCAL_PATH := $(call my-dir)
    
    # This block is to make the NDK aware of your static library
    include $(CLEAR_VARS)
    LOCAL_MODULE := libconfig
    LOCAL_SRC_FILES := path/to/libconfig/libconfig.a
    include $(PREBUILT_STATIC_LIBRARY)
    
    # This block is to build your C++ code that will call the method in the static library
    include $(CLEAR_VARS)
    LOCAL_MODULE := ThatWillCallTheMethod
    LOCAL_SRC_FILES := cppFileThatWillCallTheMethod.cpp
    LOCAL_STATIC_LIBRARIES := libconfig.a
    include $(BUILD_SHARED_LIBRARY)
    

    在您的jni 文件夹中,您将拥有:cppFileThatWillCallTheMethod.cpp。在该文件中,您将调用 CLIENT_ConfigIPCWifi(szDeviceSN, szSSID, szSSIDPassword, nWaitTime);不知何故,您必须知道需要包含 libconfig.a 中的哪些头文件。

    希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 2020-06-08
      • 2021-04-12
      • 1970-01-01
      • 2013-06-12
      • 2019-05-13
      • 1970-01-01
      • 2017-10-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多