前言
我在一个工程中生成了so文件,在另外一个工程中调用该so文件中的函数。
环境 :androidstudio4+ubuntu20+ida
借鉴文章:https://blog.youkuaiyun.com/u013347784/article/details/97106072
生成so文件
在androidstudio中生成默认的NDK并添加一个自己的方法

生成apk文件,用apktool解压出so文件
用ida打开发现其中的函数

调用so函数
- 创建一个不包含ndk工程的项目
- 创建jniibs文件,将so库拷贝进去如图所示

3.创建一个同名的activity,该名已经在ida中暴露出来比如 Java_com_example_nativetest_MainActivity_myJNI,创建的包名就是 com.example.nativetest。activity的名字就是MainActivity,在新建的activity下加载so文件,并声明native方法如图所示

本文详细介绍了如何在Android Studio中生成NDK库,然后在另一个不包含NDK的项目中引用该库并调用其函数。通过创建jniLibs目录,拷贝so文件,创建对应的Java接口并加载库,成功实现了跨工程调用so文件内的函数。
最低0.47元/天 解锁文章
2万+





