• Android Studio Ndk 编程


    如今开发Android程序基本都已经从Eclipse转到了Android Studio了, 近期项目需求, 须要用到ndk编程, 于是就折腾了一下。

    开发环境

    • Android Studio 1.5.1
    • android-ndk-r10e
    • gradle 2.8

    首先我们新建一个project叫做NdkDemo, 创建后的project文件夹结构例如以下

    这里写图片描写叙述

    然后我们打开gradle.properties文件, 在文件的尾端写一句。 假设没有写这一句会编译不通过

    android.useDeprecatedNdk=true

    接着配置ndk路径, 点击左上角File然后选择Project Structure(或者直接点击红框标注的那个button)进入配置界面, 然后在红框内配置下载好的ndk路径就可以。

    这里写图片描写叙述

    这里写图片描写叙述

    到此,配置工作就所有完毕。 以下进行开发相关的工作。


    相信在Eclipse进行ndk编程过的同学都知道我们要去编写Android.mk, 可是在Android Studio是全然不用我们去编写的, 我们仅仅须要在gradle下写几个简单的语句。 Studio就会自己主动帮我们写好Android.mk,很方便。

    defaultConfig {
            ...
    
            ndk{
                moduleName "ndk-demo"       //要引用module的名字
                ldLibs "log"                //引用库的名字(选填)
                abiFilters "armeabi"        //配置须要编译出那些版本号的so库(假设不写,就编译出所有版本号的so库)
            }
        }

    以上就是app文件夹的build.gradle的配置, 仅仅须要在defaultConfig 节点下写入ndk相关的配置就能够了。

    接着我们新建一个Comman类, 写一个本地函数, System.loadLibrary的參数填的就是刚才在build.gradle配置的moduleName

    public class Command {
        public static native String getStringFromC();
    
        static{
            System.loadLibrary("ndk-demo");
        }
    }

    然后我们右键app文件夹, 选择新建一个jni文件夹
    这里写图片描写叙述

    点击下方的控制台Tab。 输入一下命令, 就会发现奇妙的在jni文件夹下会自己主动生成相关的.h文件

    这里写图片描写叙述

    这里写图片描写叙述

    解释一下两句命令行的意思。第一句意思是进入到app/src/main/java文件夹下。第二句中, javah是jdk一个生成头文件的工具。 -d ../jni 表示生成的文件要放到上一层文件夹的jni文件夹下。 com.zwf.ndkdemo.ndk.Command就是刚才我们写的Command的全路径。

    有了头文件我们就能够開始编写相关的c文件了, 在jni文件夹下新建一个c文件跟刚才的头文件名称字一样。 写入相关的功能。

    这里写图片描写叙述

    点击执行, 成功!

    这里写图片描写叙述

    那么。 我们生成的so库在哪里找呢。

    这里写图片描写叙述

    完毕!

    Demo源代码

  • 相关阅读:
    logo切图大小相应的尺寸
    logo切图大小相应的尺寸
    Linux学习笔记(二)——文件/目录/VIM
    Linux学习笔记(二)——文件/目录/VIM
    什么湖南小吃?仅1年就获得千万投资
    硕士毕业的他做生鲜电商网站,日流水3万元
    他回到家乡贷款创业,如今公司年产值100万美元
    下岗工人也能致富,她靠养殖昆虫改变人生
    他用8000元互联网创业起家,如今年营业额500万
    他卖骨头汤成为南京“汤王”,如今资产上百万
  • 原文地址:https://www.cnblogs.com/gavanwanggw/p/7228591.html
Copyright © 2020-2023  润新知