如何在Android.mk中添加一些第三方* .so文件? [英] how to add some third party *.so files in Android.mk?

查看:1254
本文介绍了如何在Android.mk中添加一些第三方* .so文件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在AOSP中编译自己的应用程序,我想在AOSP中的程序包/应用程序中添加自己的应用程序.我有一些将在我的应用程序中使用的*.so文件,但是如何编写Android.mk关于如何使用这些第三方.so文件?这是我的Android.mk:

I am compiling my own app in AOSP,and I want to add my own app in package/app in AOSP. I have some *.sofiles which will be used in my app,but how to write Android.mkabout to use these third party .sofiles?here is my Android.mk:

  LOCAL_PATH := $(call my-dir)
  include $(CLEAR_VARS)
  LOCAL_MODULE_TAGS := optional
  LOCAL_SHARED_LIBRARIES :=myprebuilt
  LOCAL_STATIC_JAVA_LIBRARIES :=OrbbecJar
  LOCAL_SRC_FILES := $(call all-java-files-under, src)\
               $(call all-java-files-under, openCVLibrary2410/src)\
               openCVLibrary2410/src/main/aidl/org/opencv/engine/OpenCVEngineInterface.aidl
  LOCAL_RESOURCE_DIR:= $(LOCAL_PATH)/openCVLibrary2410/res\
                  $(LOCAL_PATH)/res
   LOCAL_CERTIFICATE := platform
   LOCAL_PACKAGE_NAME := HelloWorld
   include $(BUILD_PACKAGE)
    ##################################################
   include $(CLEAR_VARS)
   LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := OrbbecJar:OrbbecSDKPro_161114_v1.1.2.jar
   include $(BUILD_MULTI_PREBUILT)
   include $(CLEAR_VARS)
   LOCAL_MODULE:=myprebuilt
   LOCAL_SRC_FILES:=libs/armeabi-v7a/libHWWrapper.so\
                     libs/armeabi-v7a/libXnDeviceSensorV2.so\
                     libs/armeabi-v7a/libXnFormats.so
    include $(PREBUILT_SHARED_LIBRARY)
   # Use the folloing include to make our test apk.
  include $(call all-makefiles-under,$(LOCAL_PATH))

构建apk内容显示:

The build apk contents shows:

但是我可以在我的构建APK中t find *.so`文件

but I cant find*.so`files in my build apk

推荐答案

您必须声明每个用作单个独立模块的预构建库.为此,请执行以下步骤:

You must declare each prebuilt library you use as a single independent module. To do so, perform the following steps:

  1. 为模块命名.此名称不必与预构建库本身的名称相同.
  2. 在模块的Android.mk文件中,将要提供的预构建库的路径分配给LOCAL_SRC_FILES
  3. 包括PREBUILT_SHARED_LIBRARY或PREBUILT_STATIC_LIBRARY,具体取决于您使用的是共享(.so)还是静态(.a)库.

有关声明预建库的详细信息

示例

# How to fetch the ssl_static lib
include $(CLEAR_VARS) 
LOCAL_MODULE := ssl_static
LOCAL_SRC_FILES := <folder_path>/libssl_static.a
include $(PREBUILT_STATIC_LIBRARY)

# shared library
include $(CLEAR_VARS)
LOCAL_MODULE := HWWrapper
LOCAL_SRC_FILES := <folder_path>/libHWWrapper.so
include $(PREBUILT_SHARED_LIBRARY)

这篇关于如何在Android.mk中添加一些第三方* .so文件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆