要逆向,必须会正向编写。第一个.so文件的编写(adnroid studio环境)
配置环境
参考
我这里直接安装adnroid studio,环境就搭好了。
编写
创建check
在MainActivity同一级创建一个check.java
工具栏Build->Make Project(ctrl+f9)。在main的下一层(java层)创建jni目录
android在终端
Terminal>>cd app/src/main/java
Terminal>>javah -jni com.example.ese.jni.check
(这时会产生一个com.example.ese.jni.check.h文件)
Terminal>>cd ..
Terminal>>cd jni
(将上面的com.example.ese.jni.check.h拖入jni目录中)
在jni目录下新建一个check.c文件
在jni目录下新建一个Android.mk文件和Application.mk文件
Android.mk
Application.mk
现在terminal在jni目录下
terminal>>ndk-build
这时候会生成libcheck.so文件在libs(jni同级目录)
调用so
在方法Check添加调用库check
在app目录下的build.gradle中添加
这时一个简单的输入结构:
MainActivity结构
运行就可以得到调用native方法的apk了。
apk生成路径:C:\Users\Administrator\AndroidStudioProjects\jni\app\build\outputs\apk\debug