android studio JNI编程

1.添加native接口

public class MainActivity extends Activity {

    static{
        System.loadLibrary("JniTest");
    }
    public native void md5Encode(String inputStr);
    String result;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        new Thread(new Runnable() {
            @Override
            public void run() {
                md5Encode("admin");
            }
        }).start();
//        System.out.println("result---------------------------" + result);
    }

然后make project

2.用javah命令生成.h文件

格式:javah -d jni -classpath <SDK_android.jar>;<APP_classes> com.chuangxue.jackie.md5test3.MainActivity

其中<SDK_android.jar>填上你的sdk中android.jar文件的具体路径, <APP_classes>就是你的class文件存放的位置

例子:javah -d jni -classpath F:\AndroidSDK\platforms\android-22\android.jar;..\..\build\intermediates\classes\debugcom.chuangxue.jackie.md5test3.MainActivity

接着就会在main文件夹下生成一个jni文件夹,里面会有一个头文件




3.编写C文件,要保存在jni目录下,记得还要再添加一个空的.c文件不然会报错,这里不贴代码了

然后再make project


4.配置NDK路径

点击project structure

右边一栏有一个android NDK location  选择你的NDK路径,注意不能有空格和中文

5.修改build.gradle文件

我们要修改的是project\app文件下的那一个

在defaultConfig下添加

    ndk {
        moduleName "JniTest"
        ldLibs "log", "z", "m"
        abiFilters "armeabi", "armeabi-v7a", "x86"
    }

6.在local.properties文件最后添加一行

android.useDeprecatedNdk=true

醉胡rebuild project就可以生成so文件了

so文件存放在project\app\build\intermediates\ndk\debug\lib

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值