使用Android Studio进行NDK开发
Step1:创建native方法
很easy,仅仅须要给定义好的方法加上native关键词就可以
注意:由于该方法的详细实现是在c++中详细实现的。所以相似于接口方法不须要加{}。
Step2:生成class文件(多数情况可忽略)
大多数情况下class文件是已经生成的。可是在刚进行改动或者代码中出现错误时,有可能会影响到class文件的生成,这时仅仅须要又一次生成一下就能够了。步骤为菜单条Build==>Make Project(若存在错误。修正后又一次尝试本操作就可以)
Step3:生成.h文件
点击View->Tool Windows->Terminal,将命令行窗体打开,相当于windows下的cmd窗体。
cd app/src/main/java
将路径切换到app/src/main/java
javah -d ../jni collector.com.indoorun.orientionsensorcollector.JNI
将包括native方法的类编译连接到.h文件
此时项目中已经生成了jni目录和.h文件(其余文件是后来加入的。请先无视)
Step4:实现c/c++文件
将上一步生成的.h文件复制一份,后缀名改成.cpp(个人喜欢c++,用c的话.c就可以),去除头尾和凝视部分。将方法详细实现,这一步骤须要一定的c/c++基础。
Step5:配置gradle文件
改动相应module的build.gradle文件(配置ndk)
改动local.properties文件(值得ndk路径,没有的话自己去下载个)
改动gradle.properties文件(开启ndk编译权限)
Step6:生成.so文件
执行完毕后的结果:
Step7:使用jni
在java代码中使用载入so库(建议写在Application中或者在jni类中用static代码块)
System.loadLibrary(“InertialJNI”);//你生成so文件时取的名字。
然后在你须要用到的地方当成一般java方法一样调用就可以了。
(确保使用前已经load)
以上~一切搞定~直接run就好了~
使用Android Studio进行NDK开发的更多相关文章
- 使用Android Studio进行ndk开发的准备
1. gradle-ex2. ndk开发包3. 项目目录结构4. lldb调试器 1. 一般来说gradle不是必需的,gradle也是可以进行ndk编译的,然而你需要在编译时使用更多(多于一个)c+ ...
- Android Studio C/C++开发环境配置
Android Studio C/C++开发环境配置 我的开发环境 : Win 10 + android studio 1.5 一, 安装NDK 开发环境: 1. Settings -> ...
- 【Android Studio安装部署系列】二十五、Android studio使用NDK生成so文件和arr文件
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 Android Studio使用ndk的简单步骤. NDK环境搭建 下载NDK 下载链接:https://developer.and ...
- Android studio 使用NDK工具实现JNI编程
前言: Android开发中常常会使用到第三方的.so库.在使用.so库的时候就要用到JNI编程.JNI是Java Native Interface的缩写.它提供了若干的API实现了Java和其它语言 ...
- Android Studio 之 NDK篇
由于工作内容的关系,对于NDK的工作涉及比较广(保密性,安全性),所以本章内容讲述一下NDK的基本使用过程. 网上也有很多这样的教程或者描述,但描述的并不完全 开发工具:Android Studio ...
- Mac下Android studio 之NDK配置教程(一)
Mac下Android studio 之NDK配置教程(一) 1.概述 近期项目全线转移到Mac下使用使用Android studio开发. 遇到关键代码封装到 ***native***层,此时在wi ...
- IDEA插件(Android Studio插件)开发示例代码及bug解决
IDEA插件(Android Studio插件)开发示例代码及bug解决 代码在actionPerformed方法中,有个AnActionEvent e 插件开发就是要求我们复写上述的这个方法即可,在 ...
- 用Android studio进行 OpenCV 开发的第一个项目
我的天! 折腾了好久终于搭建成功了第一个项目. 项目环境: Windows 7 家庭普通版 64位 Android studio 1.5.1 OpenCV-2.4.9-android-sdk 基于 ...
- Android studio 百度地图开发(3)地图导航
Android studio 百度地图开发(3)地图导航 email:chentravelling@163.com 开发环境:win7 64位,Android Studio,请注意是Android S ...
随机推荐
- numpy 切片
numpy 中的切片与数组中的切片类似. 数组 [ 起始:终止:步长, 起始:终止:步长, ... ] 所有的切片操作(无论是步长为+的正序,还是步长为 - 的逆序)都是开始位置包含,结束位置不包含( ...
- iconv 中文截断问题的解决方法
GB2312 转换为 UTF-8 <?php $content = iconv('GB2312', 'UTF-8', $content); // $content为字符串 ?> iconv ...
- sort_area_size,sort_area_retained_size
sort_area_sizeoracle不建议设置sort_area_size参数.除非实例被配置成了共享服务器模式.默认值已经足够满足大多数OLTP系统.如果是OLAP.批任务.创建大的索引,可能需 ...
- Unity3D对apk反编译、重编译、重签名
本文源链接:http://blog.csdn.net/qq393830887/article/details/56025923 工具 Java环境 Apktool(这玩意有些坑爹,不是官网最新的就好, ...
- Linux 下的hiredis的简单安装、测试*(转)
上一章介绍的是如何安装Redis以及在Redis客户端上进行简单测试,但是我们一般安装完Redis之后,都是要结合编程语言对其进行应用的,hiredis是redis开源库对外发布的客户端API包,这一 ...
- 在Spring Boot中使用Spring-data-jpa实现分页查询(转)
在我们平时的工作中,查询列表在我们的系统中基本随处可见,那么我们如何使用jpa进行多条件查询以及查询列表分页呢?下面我将介绍两种多条件查询方式. 1.引入起步依赖 2.对thymeleaf和jpa进 ...
- flowable 的ProcessEngine配置
1 flowable process engine 是通过 flowable.cfg.xml 配置文件配置的.在spring 环境中是使用 flowable-context.xml 配置文件的, P ...
- javascript 20个正则表达式
正则表达式,一个十分古老而又强大的文本处理工具,仅仅用一段非常简短的表达式语句,便能够快速实现一个非常复杂的业务逻辑.熟练地掌握正则表达式的话,能够使你的开发效率得到极大的提升. 正则表达式经常被用于 ...
- HDU 1019 Least Common Multiple 数学题解
求一组数据的最小公倍数. 先求公约数在求公倍数.利用公倍数,连续求全部数的公倍数就能够了. #include <stdio.h> int GCD(int a, int b) { retur ...
- 关于有些.aidl源码的eclipse编译后生成.java文件的错
最近下载了一个aidl源码.导入到eclipse.一直报错.无法运行到. (我是1号图) 2. .然后怎么想都不知道怎么解决.百度和谷歌了n遍. 还是找不到.后来在一个不起眼的地方看到说: aidl不 ...