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!

相关推荐
J***Q2922 小时前
Kotlin DSL开发技巧
android·开发语言·kotlin
勇气要爆发2 小时前
第二阶段:Android音视频基础
android·音视频
度熊君3 小时前
深入理解 Kotlin 协程结构化并发
android·程序员
吴Wu涛涛涛涛涛Tao3 小时前
用 Flutter + BLoC 写一个顺手的涂鸦画板(支持撤销 / 重做 / 橡皮擦 / 保存相册)
android·flutter·ios
bqliang3 小时前
从喝水到学会 Android ASM 插桩
android·kotlin·android studio
HAPPY酷4 小时前
Flutter 开发环境搭建全流程
android·python·flutter·adb·pip
圆肖4 小时前
File Inclusion
android·ide·android studio
青旬4 小时前
我的AI搭档:从“年久失修”的AGP 3.4到平稳着陆AGP 8.0时代
android·ai编程
FrameNotWork5 小时前
#RK3588 Android 14 虚拟相机 HAL 开发踩坑实录:从 Mali Gralloc 报错到成功显示画面
android·车载系统