• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > Android Studio Ndk 编程

Android Studio Ndk 编程

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了android studio ndk,androidstudio配置ndk,androidstudio安装ndk,androidstudio使用ndk,studio ndk等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

Android Studio Ndk 编程


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

开发环境

Android Studio 1.5.1 android-ndk-r10e gradle 2.8

首先我们新建一个工程叫做NdkDemo, 创建后的工程目录结构如下

这里写图片描述

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

android.useDeprecatedNdk=true

接着配置ndk路径, 点击左上角File然后选择Project Structure(或者直接点击红框标注的那个按钮)进入配置界面, 然后在红框内配置下载好的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源码

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 详细Android Studio + NDK范例
  • Android Studio上面使用Ndk JNI 开发工程
  • Android Studio下NDK的使用
  • Android Studio NDK基础使用
  • Android Studio Ndk 编程
  • Android Studio NDK开发
  • 用Android Studio 运行ndk 程序

相关文章

  • 2017-05-26Android体系结构,android体系结构介绍
  • 2017-05-26[Android]Animation 动画介绍和实现,androidanimation
  • 2017-05-26在Linux上分析死锁问题的简单方法
  • 2017-05-26Android之SQLite数据库篇,androidsqlite
  • 2017-05-26Android用Intent来启动Service报“java.lang.IllegalArgumentException: Service Intent must be explicit”错误的解决方法,explicitintent
  • 2017-05-26Android中button点击后字体的变色效果,androidbutton
  • 2017-05-26安卓开发学习经历2--《第一行代码》coolweather项目SQL语句同一个“陷阱”掉两次 注意转义字符等特殊字符正确书写 关于Id字段自增加体会,coolweather
  • 2017-05-26Android客户端性能优化(魅族资深工程师毫无保留奉献)
  • 2017-05-26dspam运维记录
  • 2017-05-26日志文件之出错处理

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 编译android源码6---运行android编译源码
    • MirrorNetwork 基于jmdns和netty的android网络通信开源库,mirrornetworkjmdns
    • 仿《雷霆战机》飞行射击手游开发--防破解,《雷霆战机》射击手
    • Android 指纹认证,android指纹认证
    • Android 面试题--Activity,android--activity
    • Android数据存储方式--SharedPreferences,sharedpreferences
    • Android 退出app,后台推送的服务也停止了,怎么可以做到不停止后台服务呢?,androidapp
    • Gradle Android客户端程序打包,gradleandroid
    • andriod打开摄像头和打开相册,andriod摄像头相册
    • Android Studio同时打开多个项目,androidstudio

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有