Android so库生成教程

本文详细介绍了如何在Android环境下配置NDK,生成SO库的过程,包括设置环境变量、编写JNI文件、使用javah生成头文件、创建cpp文件实现方法、配置Android.mk和Application.mk文件,以及在build.gradle中添加相关配置。最终通过ndk-build命令生成适用于不同ABI的SO库。

一. 准备工作

ndk下载:https://developer.android.google.cn/ndk/downloads/

  1. 首先配置终端的ndk命令:

    • 启动终端Terminal

    • 输入cd~,进入当前用户的home目录

    • 如果没有.bash_profile文件,先输入touch .bash_profile进行创建

    • 输入open -e .bash_profile 编辑.bash_profile文件,加入下面语句

      • export PATH=${PATH}:“这里填你的ndk安装路径”

    • 保存并关闭.bash_profile文件

    • 输入source .bash_profile,更新刚刚配置的环境变量

    • 命令行输入ndk-build,验证是否配置成功,出现下图表示配置成功

     

  2. 另外,Android Studio中也不要忘记设置(一般会默认设置成Android Sdk中的ndk路径,但是自己如果下载了最新的ndk,可以替换),打开File --> Project Structure:

     

 

二. JNI文件编写

  1. 创建一个含有native方法的java文件:

    package com.hyf.kaviewer.jni;
    
    /**
     * Created by heyf on 2019/2/28
     */
    public class JniTest {
    
        public static native void getSecret();
    }
  2. 通过javah命令生成.h头文件

    首先需要进入到当前项目当前module的java路径下:

    cd /Users/admin/Demo-Project/KAViewer/app/src/main/java

    然后输入:

    javah -d ../jni com.hyf.kaviewer.jni.JniTest

    生成的.h文件如下所示(jni路径也是自动生成)

    .h文件的内容为:

    红框中的方法与java文件中所写的方法相对应,我们马上也会在.cpp文件中实现它。

  3. 创建.cpp文件

    复制一份.h文件并将后缀改为.cpp

    接下来编辑.cpp文件的内容:

     具体代码如下:

评论 7
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值