Android Gradle工程引入三方so库的方法

#背景

在做安卓逆向工程的时候,有时候需要引入三方开发好的jni库,这些库可能非常老旧,甚至是32位的,本文记录引入的过程,便于快速查找

1.把so库拷贝到工程中

一般是如下两个目录

app\src\main\jniLibs\armeabi-v7a

或者

app\src\main\jniLibs\arm64-v8a

2.拷贝原工程中的jni函数定义到新工程中,注意,包名不能变!即文件路径不能变化

例如:

3.在工程任意处加入加载so的代码,一般放到MainActivity.java中

复制代码
    static {
        System.loadLibrary("xxx");
        System.loadLibrary("play");
    }

注意,不要带lib,不要带后缀,上述so实际文件名是libplay.so

4.需要在 app/build.gradle 中配置:

复制代码
android {
    defaultConfig {
        ndk {
            abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86'
        }
    }
}

5.完成上述步骤后,即可在java文件中通过Jni.xxx引用so库中的静态方法了

enjoy!

相关推荐
Kapaseker4 分钟前
初级与中级的Android面试题区别在哪里
android·kotlin
Kapaseker9 分钟前
AOSP 发布节奏调整:一年两更
android
huibin14785236916 分钟前
开机后无网络,多次重启手机发现开机时间永远是版本编译时间(高通)
android
m0_5981772317 分钟前
MYSQL开发- (1)
android·java·mysql
2501_9159090623 分钟前
iOS 应用在混淆或修改后,如何完成签名、重签名与安装测试
android·ios·小程序·https·uni-app·iphone·webview
野生的码农9 小时前
码农的妇产科实习记录
android·java·人工智能
王正南9 小时前
kali-linux 虚拟机连接安卓模拟器
android·linux·运维·虚拟机连接模拟器·安卓模拟器,linux虚拟机
撩得Android一次心动10 小时前
Android Jetpack 概述
android·android jetpack
JinBeen10 小时前
sourcetree下码云gitee的ssh经常失效问题
android·gitee·ssh
帅得不敢出门10 小时前
Android各芯片平台日志打开及获取
android