Android NDK编译so并调用(转)与源码下编译.so文件并调用

这篇博客详细介绍了如何使用Android NDK编译SO库并进行调用,以及如何在源码下编译SO库。通过一个简单的示例,作者展示了从编写头文件和实现文件,到执行`make`命令生成SO库的过程。在源码编译的情况下,生成的SO文件需要拷贝到Android项目中,并进行CMakeLists.txt和build.gradle的配置,以实现对源码编译SO库的调用。最终,通过JNI类和Java活动类完成调用,运行成功。

   1、NDK编译so并调用so的方法详见

        https://www.jianshu.com/p/bc2b5dd88d61

        博主用NDK编译出来的so是可以导入使用的。

  2、在源码下编译so(这里整了好长时间)

       MyLib.h

#ifndef TESTNDK_MYLIB_H
#define TESTNDK_MYLIB_H

class MyLib {
    public:
    MyLib();
    ~MyLib();

    int add(int a,int b);
};



#endif //TESTNDK_MYLIB_H

    MyLib.cpp

#include "MyLib.h"

MyLib::MyLib()
{

}
MyLib::~MyLib()
{

}

int MyLib::add(int a,int b)
{
    return a+b;
}

   Android.mk

LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)

LOCAL_MODULE:=libmylib

LOCAL_SRC_FILES:= \
    MyLib.cpp

include $(BUILD_SHARED_LIBRARY)

 在源码目录:/home/dongying/android9/development/下新建一个 screen的文件夹,把上面的三个文件放到该文件夹中

  再回到源码根目录执行:make clean

                                       source build/envsetup.sh

 再回到/home/dongying/android9/development/screen执行:mm

生成的so文件会出现在:/home/dongying/android9/out/target/product/generic/system/lib/  目录下,可以看到虽然很简单的例子,但生成了好几个so文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值