Android Studio中如何编写JNI代码及编译so库

最近项目中需要使用到NDK编译so库,控制硬件。由于不熟悉JNI和NDK,网上搜了一些方法,做个笔记备忘和分享给用需要的朋友。

那如何用Android Studio编写JNI代码,然后生成so库呢?

来看看一个简单的实例: 编写一个native的加法函数,然后在MainActivity中调用并显示结果。

需要准备的事:
1 配置好的JDK环境和Android Studio开发环境、SDK
2 下载好NDK工具 (http://www.androiddevtools.cn/ 网站有很多Android开发需要的工具。)
NDK版本


1 新建Android工程

2 添加一个类,类中包含你想用C/C++语言实现的native方法,只是声明。
MyJni.java


package com.example.hui.myjnitest ;

public class MyJni {
   

    static {
        System.loadLibrary ("myjni" ) ;
    }

    public native int add (int a , int b) ;
}

其中有个静态代码块,在MyJni类加载时,执行块内代码。
System.loadLibrary (“myjni” ) ; 程序运行时,加载库文件,在Android(Linux)中,会搜索并加载名字为libmyjni.so的文件,如果找不到,会报异常。在Windows中会搜索myjni.dll的库

3 调用native方法

public class MainActivity extends AppCompatActivity {
   

    @Override
    protected void onCreate (Bundle savedInstanceState) {
        super .onCreate(savedInstanceState) ;
        setContentView(R.layout. activity_main );

        MyJni myJni = 
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bright_Lin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值