安卓防破解自用笔记(1)android studio 开发生成so文件

来源:互联网 发布:2016年 网络热门话题 编辑:程序博客网 时间:2024/06/07 20:07

1. 我这使用的是mac book pro,安装的Android studio版本在此时此刻还算可以用, 可能不是最新的,但我不要求一定要最新的。为了防止今后看到这个文章跟自己的出现的问题无法对上,我先登记一下我使用的系统版本及as版本号。



2. 在官方或其它渠道下载一个NDK的包, 并解压到本地的目录,记录好路径,我下载的是android-ndk64-r10b-darwin-x86_64.tar.bz2,解压后的目录结构如下所示



3. 首先创建一个空的工程,名称按自己要求写上,我这选的Minimum SDK版本是4.0.3 ---> Blank Activity





4. 接下来工程创建完成,展开App Module -》 Java   -》wo.flowbank.com.fb_lr_lib 选中后新建一个Java Class 我这边将他命名为NativeUtils





5.  创建完成后,会看到MainActiviey 下面多出了一个NativeUtils的class



6. 双击该文件,进行编译,为该文件添加两个对外的接口,今后的so文件对外将提供这两个接口以供使用。



7. 接下来Build 一下, 程序应该是可以编译成功的。



8. 打开AS自带的终端命令行



9. 转换目录到当前工程的app/src/main/java目录下,然后执行javah 命令生成jni 的接口文件。

javah -d ../jni wo.flowbank.com.fb_lr_lib.NativeUtils



10. 执行完成后, 会生成 jni目录以及对应的.h 文件,如下图所示。



11. 接下来要创建一个main.c 的文件, 用来对应.h文件中声明的实现函数。选中jni文件夹后,右健创建一个C/C++ source file.


12. 双击main.c文件后,将.h 文件中的声明COPY进来, 将函数的实现体加上。然后执行Make Project 会看到如下图的出错信息。




13. 接下来要使用我们第一步时下载的NDK的包了,打开File菜单下的Project Structure,然后指定Android NDK Location




14. 打开工程中Gradle Scripts 下的local.properties文件, 看一下目录是否已经添加, 如果没有自动加上,ndk.dir 需要手动添加, 如果已经添加请确认目录正确性。




0 0
原创粉丝点击