Android项目使用外部.so

本文介绍如何在Android项目中正确使用预编译的.so库文件。通过在jni目录下放置.so文件并编写对应的Android.mk文件,实现.so库的有效集成。同时介绍了如何在项目的源代码中引用这些预编译库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >




Android项目使用外部.so - prebuild library on android
关于Android项目中使用外部编译好的library在网上也有些介绍,基本都是把相应的.so文件拷贝到android工程的 libs/armabi 目录中,其实这种方法不地道,而且很多时候满足不了要求,你无法在你的native code中使用这个.so中的features,因为你每次从新ndk-build的时候相应的lib目录会被更新,你拷贝进去的.so会被删除,编译不能完成。这种情况可以参考ndk-docs中的 PREBUILTS.html 。基本过程就是在jni目录下创建一个放置你要引入的.so的目录,然后写一个如下的Android.mk


   LOCAL_PATH := $(call my-dir)

 

   include $(CLEAR_VARS)

   LOCAL_MODULE := foo-prebuilt

   LOCAL_SRC_FILES := libfoo.so
   include $(PREBUILT_SHARED_LIBRARY)


在你需要引入这个.so的Android.mk中加入如下内容,


    include $(CLEAR_VARS)

    LOCAL_MODULE := foo-user

    LOCAL_SRC_FILES := foo-user.c

    LOCAL_SHARED_LIBRARIES := foo-prebuilt

    include $(BUILD_SHARED_LIBRARY)
当然可能还需要一些头文件的引入,那些就简单了。
本篇文章来源于 Linux公社网站(www.linuxidc.com)  原文链接:http://www.linuxidc.com/Linux/2011-11/47551.htm

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值