首先下载配置android studio ndk

1.打开sdkManager下载CMake和LLDB

2.配置ndk

项目新建

项目建立完毕后,工程目录如下,cpp文件夹是系统自动生成的

3.自定义 navite方法

接下来开始写自定义的一个native方法,新建一个Hello.java文件,里面写一个add求和的native方法,如下

生成c++头文件

然后在windows控制台Terminal进入hello.java所在的目录执行javac hello.java,如下

执行完毕后hello.java的同级目录下面会生成一个Hello.class文件,证明这一步成功啦!

然后还是在Terminal控制台上面回退目录到app/src/main下面执行命令

javah -d jni -classpath ./java com.example.myapplication.hello,后面是包名+文件名不带后缀,请改成自己的包名,如图

命令执行完毕后会在app/src/main目录下面生成一个jni文件夹,文件夹下面有一个.h后缀文件,如图:

新建cpp文件实现navtive 方法

com_example_myapplication_hello.h

中的内容复制一份到myjni.cpp中,并添加

com_example_myapplication_hello.h

的引用(引用要改成引号,不然下面的方法会报红哦~),删掉其他代码,如图

经过测试Cmake必须将获得的建立在cpp文件才能编译通过

配置CMakeLists.txt文件
接下来是关键,在android studio3.0以前是没有此步骤的,大家看工程目录里面有一个CMakeLists.txt文件,这个文件是新建项目是自动生成的,里面已经写好了系统自动生成的
cpp/native-lib.cpp文件的配置,打开CMakeLists.txt文件,如下,

调用native方法

到此我们基本上已经成功了,然后在Hello.java中添加代码如下,添加的library名字一定要和上图中添加的一样:

最后在activity中调用add方法,

出错的地方总结:

cmake 编译会经常提示编译失败

出现cmake编译失败请在这里找寻错误

android studio 3.4配置Android -jni 开发基础的更多相关文章

  1. 安装Android Studio (一)同时配置Android Studio环境变量

    安装Android Studio 安装android 一直next就行了.这以步需要10分钟左右. 我的安卓SDK在这个目录 C:\Users\user\AppData\Local\Android\s ...

  2. Android Studio NDK环境配置

    本文参考:Android Studio NDK环境配置及JNI使用方法:http://blog.csdn.net/tongseng/article/details/53005123 并添加自己的实践: ...

  3. Android Studio安装与配置

    谷歌已经停止支持eclipse开发android了,转向android studio是大势所趋,笔者由于电脑配置的原因, 以前迟迟不愿意向android studio,现如今因为开始学习materia ...

  4. 【转】Android studio安装与配置

    Android studio安装与配置 1.首先下载Android studio安装包,可以从http://www.android-studio.org/下载最新版本,这里采用3.0版本进行演示,对应 ...

  5. Android Studio经常使用配置及使用技巧(二)

    在<Android Studio经常使用配置及使用技巧(一)>中具体描写叙述了Android Studio的project结构和打开开源project的一些配置方法.本篇将从我个人的使用情 ...

  6. Android studio 安装与配置【Android学习入门】

    终于下定决心认真学习Android开发了. 之前在很多平台看到很多大牛们学习Android的经验和心得,纸上得来终觉浅. 这里推荐stormzhang老师总结的Android学习之路. 为了防止电脑卡 ...

  7. Mac下Android studio 之NDK配置教程(一)

    Mac下Android studio 之NDK配置教程(一) 1.概述 近期项目全线转移到Mac下使用使用Android studio开发. 遇到关键代码封装到 ***native***层,此时在wi ...

  8. Android Studio && GitHub 团队多人一起开发

    曾几何时,花了两天的时间搞了合并项目,搞得乱七八糟der,但最终还是被我搞定了,too 乱 to 做笔记.过了几个月,也就是前几天,抱着从头开始的决心,再次尝试,然鹅并没有结果.今天,再一次重新开始, ...

  9. Ubuntu 14.04 下 android studio 安装 和 配置【转】

    本文转载自:http://blog.csdn.net/xueshanfeihu0/article/details/52979717 Ubuntu 14.04 下 android studio 安装 和 ...

随机推荐

  1. luogu P4943 密室 |最短路

    题目描述 密室被打开了. 哈利与罗恩进入了密室,他们发现密室由n个小室组成,所有小室编号分别为:1,2,...,n.所有小室之间有m条通道,对任意两个不同小室最多只有一条通道连接,而每通过一条通道都需 ...

  2. luogu P1901 发射站

    题目描述 某地有 N 个能量发射站排成一行,每个发射站 i 都有不相同的高度 Hi,并能向两边(当 然两端的只能向一边)同时发射能量值为 Vi 的能量,并且发出的能量只被两边最近的且比 它高的发射站接 ...

  3. luogu P1801 【黑匣子_NOI导刊2010提高(06)】

    这里提供一个简单实现新思路: . 约定: 以下n指代的数的数量,不是题目所指的n 以下m指代询问的数量,不是题目所指的m (不好意思,这是本人习惯) 分块+堆 **堆一次只能输出堆顶的一个元素,如果我 ...

  4. 第五章 初始jQuery

    jQuery与JavaScript: jQuery的用途: 访问和操作DOM元素: 控制页面样式: 对页面事件的处理: 方便地使用jQuery插件: 与Ajax技术的完美结合: jQuery的优势: ...

  5. 伸展树(Splay tree)的基本操作与应用

    伸展树的基本操作与应用 [伸展树的基本操作] 伸展树是二叉查找树的一种改进,与二叉查找树一样,伸展树也具有有序性.即伸展树中的每一个节点 x 都满足:该节点左子树中的每一个元素都小于 x,而其右子树中 ...

  6. POJ1458 Subsquence

    A subsequence of a given sequence is the given sequence with some elements (possible none) left out. ...

  7. python pyHook安装

    Hook安装 哇 这东西可真费劲  主要有pyhook和pyhook3 两种 每个都要根据系统版本和python版本 分成各种小版本 具体安装 一.可以在cmd 中输入 pip install pyh ...

  8. windows程序设计03_读取utf8文件

    这里用到的读取utf8文件的思路特别朴素.先把utf8文件按char读取到内存里.因为utf8是变长的,为了处理方便,在内存里把char转化成wchar_t,这样一个字符就是一个wchar_t.把ut ...

  9. MySQL 表记录查询小练习

    表记录查询小练习 查看岗位是teacher的员工姓名.年龄 查看岗位是teacher且年龄大于26岁的员工姓名.年龄 查看岗位是teacher且薪资在12000-16000范围内的员工姓名.年龄.薪资 ...

  10. 201871010119-帖佼佼《面向对象程序设计(java)》第二周学习总结

    项目 内容 这个作业属于哪个课程 <任课教师博客主页链接>     https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 <作业链接地址> ...