android 生成不同类型体系的so库文件(1)

本系列是分为三步走

1.生成so库文件(本篇)

2.生成jar包 打开地址

3.调用自己生成的so库和jar包 打开地址

本篇是第一部分,生成so库.

一、配置NDK环境

    1.下载NDK文件 http://www.androiddevtools.cn/ android中文网下载

    2.配置NDK的环境变量 (如果有的环境变量配置好了,但是DOS命令行还显示不是系统命令{如:Java,javac,javah},就把系统path中的复制一份到用户环境path中去)

        将ndk路径放到path里去,然后打开cmd,输入ndk-build ,提示下图就说明配置成功!


二、配置Android studio

    1.新建一个名为JniMakeSo的Android项目。

    2.配置NDK路径


    3.配置build.gradle


    

ndk{
    moduleName "hello"
    ldLibs "log","z","m"
    abiFilters "armeabi","armeabi-v7a","x86","arm64-v8a"
}

4.配置gradle.properties:加一行 android.useDeprecatedNdk = true

三、生成so库文件

    1.创建Testjni.java

/**
 * Created by Rango on 2018/5/12.
 */

public class Testjni {
    static {
        System.loadLibrary("hello");//名字要与build.gradle文件中配置一致
    }
    public native static String getString();
}

    2.在build文件夹下找到classes文件夹(如果没有classes文件夹先 Build->Make Project一下或run一下)


    3.打开DOS命令行(快捷键 window键+R,输入cmd)或在Android studio里点击Terminal.

       3.1: cd 到classes下的debug目录下然后输入javah -jni 包名.类名

        *打开小技巧:可以先打开到这个文件夹下,按住shift键右击debug文件夹,再点击在此处打开命令行,就会很方便的自动切到此目录下。




    3.2:然后输入javah -jni 包名.类名 按回车,如果没有任何提示就说明.h文件生成成功了


    3.3:这时候就可以看到.h文件了


    3.4:在java同级目录创建jni文件夹,把生成的.h文件copy进去。
        并创建test.cpp文件,把.h文件中的方法copy进去实现。*需要引入.h头文件


    3.5:这时候Rebuild Project或者run一下项目就会生成四个so文件了.(因为在build.gradle里面设置了四种体系结构)


如果出现如下图错误,说明此文件夹正在使用不能删除,把刚刚的cmd命令窗口关闭重新Rebuild一下就好了




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值