2019独角兽企业重金招聘Python工程师标准>>>

最近试了下andorid studio增加jni,网上的方式说的太复杂了,这里记录下

android studio2.3版本增加jni的过程,android studio2.3.1和2.3.2都试过能成功.

新建工程时,不要选Include C++ support网上很多介绍要选这个,选这个要装好几个插件,新建工程时就是普通的android project流程finish

新建工程进入后,首先设置ndk路径如下图:

其中NDK版本比较有要求,我试了三个版本NDK只有r10e能成功,其它两个版本都报错.

设置完ndk路径成功后,会在local.properties中多一个ndk.dir=xxx.

接着新建JNI Folder如下图所示:

此时如果是在Android选项下会多出一个cpp文件夹,如果是在Project选项下会多出一个jni文件夹,如下图所示:

这时可以选不用新建c文件,后面我们会让c文件自动成

然后设置app的build.gradle如下图:

在defaultConfig中增加最后面的ndk设置

其中的moduleName后MyTest这个名字指定了最后生成的库的文件名为libMyTest.so,加载的时候需要使用这个名字,也就是说调用System.loadLibrary("MyTest");如果前面自己创建了.c文件这个名字不一定要和.c文件名一致,如果没有创建.c文件,后面自动创建的时候就会创建文件名为MyTest.c的文件

然后修改gradle.properties如下图:

增加android.useDeprecateNdk=true

设置完成后Rebuild一下,就会生成so库,虽然现在还没有.c文件

此时增加native方法后,按Alt+Enter键就会出来下面的选项

点击第一个Create function后会自动创建c文件和对应函数.到这里整个设置就已经成功了,接下来就是去完善这些函数了。

测试工程下载地址:https://github.com/hclydao/JniTest

参考资料:http://www.jianshu.com/p/022c75a3edc9

============================================
作者:hclydao
http://blog.csdn.net/hclydao
版权没有,但是转载请保留此段声明

============================================

转载于:https://my.oschina.net/hclydao/blog/1555612

android studio2.3.2增加jni相关推荐

  1. Android Studio2.2.3 通过JNI引用ffmpeg库小结

    修改步骤: 首先通过NDK14编译出libffmpeg.so ,将include目录取出 通过AS建立基于jni的工程项目,将include目录放到cpp下:创建jniLibs/armeabi目录,将 ...

  2. android在framework层增加自己的service---仿照GPS

         不少公司在开发android产品的时候,都需要在android中增加自己的service,尤其是定制的工业用途的设备,我们公司的项目中就涉及到要增加一个service,是一个北斗通信serv ...

  3. Android Studio2.2 CMAKE高效NDK开发

    转自:http://www.it165.net/pro/html/201611/76734.html 前言 之前,每次需要边写C++代码的时候,我的内心都是拒绝的. 1. 它没有代码提示!!!这意味着 ...

  4. cocos2dx3.15接入微信SDK实现登录和分享android studio2.3.3

    cocos2dx3.15接入微信SDK实现登录和分享android studio2.3.3,首先开始呢,我必须得吐槽一下网上的教程以及微信开放平台官网,网上的教程主要是太老了代码虽然都能用但是不完整有 ...

  5. android9多了什么功能,Android 9.0 都增加了什么功能?

    Android 每年的新版本都会有一些新的功能出现,虽然有些已经是国产手机用过的,但从系统层面支持的话,可以得到更好的体验,也可以间接地减少系统资源的浪费和电量的消耗,我们来看看这次的Android ...

  6. Android Studio2.0 教程从入门到精通Windows版

    系列教程 Android Studio2.0 教程从入门到精通Windows版 - 安装篇 Android Studio2.0 教程从入门到精通Windows版 - 入门篇 Android Studi ...

  7. databinding在android studio2.3版本后不再默认支持使用

    databinding在android studio2.3版本后不再默认支持使用,需要在项目的app-build-gradle的 dependencies 里面添加 apt 'com.android. ...

  8. 开发工具总结(2)之全面总结Android Studio2.X的填坑指南

    前言:好多 Android 开发者都在说Android Studio太坑了,老是出错,导致开发进度变慢,出错了又不知道怎么办,网上去查各种解决方案五花八门,有些可以解决问题,有些就是转来转去的写的很粗 ...

  9. 生成jni的android.mk,Android Studio 3.5版本JNI生成SO文件详解

    学习在于记录,把自己不懂得容易忘记得记录下,才是最好得选择. 废话不多说,想要在Android开发中嵌入c/c++代码,直接开始如下步骤 1.创建需要调用的Java类 在你某个指定的包下创建如下类pa ...

最新文章

  1. Spring源码分析【6】-ThreadLocal的使用和源码分析
  2. URLEncoder和URLDecoder中特殊字符的处理方案 URL传值问题
  3. ICA处理后,如何判断眼电、心电等成分?
  4. 互联网协议 — TCP — 滑动窗口(网络质量保障)
  5. 计算机系统的组成doc,《计算机系统的组成》.doc
  6. Linux 运维工具
  7. luogu P2470 [SCOI2007]压缩
  8. php include path pear,关于php:pear include_path数据文件夹不再有效
  9. STM32学习——ROV遇到的坑
  10. python类不接受任何参数_python中提示class不接受参数,为什么?
  11. C#笔记01 课程总论
  12. 洛谷2543AHOI2005]航线规划 (树剖+线段树+割边思路)
  13. layui table reload post请求_基于Layui组件封装的后台模版
  14. 阿里云linux主机更新hostname
  15. Power BI中的AI语义分析应用:《辛普森一家》
  16. E-Prime 3 安装
  17. STM32学习记录0005——JLINK下载与调试
  18. 什么是GMSK调制-高斯最小移位键控
  19. 天骄辅助外挂制作,寻求合作
  20. ECMAScript和JavaScript的关系

热门文章

  1. 关于人工智能工程可能不知的7件事
  2. AI口语翻译,遇到的可不止口齿不清…….
  3. SAP MM 物料主数据利润中心字段之修改
  4. 愚蠢的CNN,换个马甲就认不出猫!但,这病能治 | ICLR Oral
  5. 中国科学院院士张钹:人工智能目前只能在某些行为上尽量接近人
  6. 深度学习不得不会的迁移学习Transfer Learning
  7. 五张动图,看清神经机器翻译里的Attention!
  8. 超市的100年发展史:好日子终结 亚马逊无人店是趋势
  9. 对话吴恩达:AI火得还不够,997都满足不了我
  10. 使用bash工具创建ssh key