四 JNI介绍和安装
4.1 JNI介绍
JNI,java native interface ,Java本地开发接口,实现在安卓中JAVA和C语言之间的相互调用。

4.2 NDK安装
NDK是JNI开发的工具包
NDK,Native Develop Kits,本地开发工具(在Android Studio中下载即可)

五 创建JNI项目
| |
| |
| |
| 创建的项目多了一些内容和配置(基于C++实现了一个算法,并在Java中进行了调用)。 |
| - 有了默认配置后,我们就不需要自己的手动配置了。 |
| - 会生成一些我们用不到的默认文件,等我们学会自己再回来删除他默认的这些文件。 |
5.1 创建项目

5.2 快速开发
| |
| |
| JNIEXPORT jint |
| JNICALL Java_com_justin_s8day12_Utils_v1(JNIEnv *env, jclass clazz,jint v1,jint v2) { |
| return v1+v2; |
| } |
| |
| |
| package com.justin.s8day12; |
| public class Utils { |
| public static native int v1(int a1,int a2); |
| } |
| |
| |
| static { |
| System.loadLibrary("utils"); |
| } |
| |
| |
| add_library( |
| utils |
| SHARED |
| |
| utils.c) |
| |
| |
| target_link_libraries( |
| utils |
| ${log-lib}) |
| |
| |
| tv.setText(String.valueOf(Utils.v1(33,44))); |
5.3 逆向和反编译
| |
| -把咱们自己写的apk,拖动到jadx中即可 |
| |
| |
| -使用压缩工具把 apk解压 |
| -进入lib的arm64-v8a目录,看到so文件 |
| -把so文件拖动到IDA中 |
| -选择exports导出 |
| -双击函数名,看到汇编 |
| -按F5,把混编进行反编译 |
| |






【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
2021-10-21 Linux的bg和fg命令