DNk开发步骤与环境配置
首先我们要明白jni是干什么的,他在Android中的目的是什么。
我们都知道java是不能够进行调用C代码的,但是它可以调用C代码形成的二进制文件。那么当我们在开发Android的过程中想要调用C代码应该怎么办,这时候我就用到了jni。也就是说jni就相当于一个中间件。它将中间文件与系统平台环境进行整合,生成一个当前系统下可以运行的2进制文件 .exe。
我们也知道
Android手机的内核是linux cpu是arm体系
window x86体系
因此我们在jni编程的过程中需要用到NDK
下面是NDK的环境配置步骤
我们首先是下载Cygwin Terminal
然后找到我的安装目录进入etc目录
找到profile文件然后打开
在文件的32行找到PATH 然后+/cygdrive+NDK下载的目录 例如 /cygdrive/F:/NDK/android-ndk-r10d
然后NDK在Cygwin Terminal环境下的配置就可以了。
下面讲解NDK的开发的流程步骤
1创建一个Android工程并且创建jni目录
2 在项目文件中写一个native本地的方法 例如 public native String helljni();
3用javah中的工具生成一个头文件
生成方法:
1 在Cygwin Terminal 中进入你的项目目录中的bin下面的class目录
2然后ndk-build进行交叉编译
这时候对可能出现找不到文件的错误提示这时你有两种方法
1 可以进入你的src目录 然后ndk-build
2 进入你项目的bin目录 然后执行 java classpath +项目地址/bin/class路径 -jni 包名.类名这时候就会出来了。
4 把生成的这个.h的头文件加入到你的工程jni目录下
5 编写Android.mk文件
6 在Cygwin Terminal 中进入你项目中的jni目录,然后NDK-build进行交叉编译。
这时候后会在你的libs下生成一个动态链接库。
然后在项目大文件中写入静态代码块System.loadLibary(库名称);
Android.mk中内容
LOCAL_PATH := $(call my-dir) 本地路径
include $(CLEAR_VARS) 初始化参数
LOCAL_MODULE :=Hello 动态链接库中的文件名称 也就是你System.loadLibary()中要加载的名称
LOCAL_SRC_FILES :=com_example_ndk2_MainActivity.c 这是在jni中写的C文件的
include $(BUILD_SHARED_LIBRARY) 链接库的类型 这个是动态链接库
DNk开发步骤与环境配置相关推荐
- 使用QtCreator开发ros2的环境配置
使用QtCreator开发ros2的环境配置 使用环境 操作系统:Ubuntu 20.04 amd64 ros2版本:foxy 选择QtCreator的版本 由于ros2的ros-qtc-plugin ...
- vue开发移动端环境配置_如何设置移动开发环境
vue开发移动端环境配置 The use of mobile devices has increased considerably in the past decade. It has been ov ...
- JAVA安装步骤及环境配置
JAVA安装步骤及环境配置 1.下载jdk 2.运行安装文件 3.java环境配置 java新手,因为记性不好,又数次刷机换系统导致每次重新装java的时候要去网上找步骤,这次重新安装之后索性记录一下 ...
- MinGW下载和安装详细步骤 及 环境配置
一.下载 点击 这里 进入官网下载最新版本的MinGW.(这里下载的是Windows32位,但MinGW的所有软件都将在64位Windows平台上执行,所以32位和64位都是一样的.) 二.安装 1. ...
- java环境配置步骤_java环境配置及安装的详细步骤
java环境配置及安装的详细步骤 发布时间:2020-04-22 14:15:59 来源:亿速云 阅读:141 作者:小新 今天小编给大家分享的是java环境配置及安装的详细步骤,相信很多人都不太了解 ...
- 开发测试服务器配置信息,node服务端中台实现及开发测试生产环境配置
本人node服务端新人一枚,网上找了不少资料,看了很多别人的配置信息,感觉都不是很合适,看的多了自己也明白配置的具体思路跟实现方式了,以下为我的实现方式.通过package.json里面的script ...
- android 调试驱动程序,Android驱动程序开发和调试环境配置
本文用<Android深度探索(卷1):HAL与驱动开发>的随书源代码为例详细说明如何配置Android驱动开发和测试环境,并且如何使用源代码中的build.sh脚本文件在各种平台(Ubu ...
- JAVA开发工具包——KDK环境配置
JDK环境配置: 到官网下载JDK 安装(根据提示就可以) 打开我的电脑–高级系统设置–系统变量 添加JAVA_HOME:根据自己的实际安装路径来添加 添加CLASSPATH: .;%JAVA_HOM ...
- python开发工具及环境配置_python_在windows下安装配置python开发环境及Ulipad开发工具...
最近开始学习Python,在网上寻找一下比较好的IDE.因为以前用C#做开发的,用Visual Studio作为IDE,鉴于用惯了VS这么强大的IDE,所以对IDE有一定的依赖性. Python的ID ...
- I.MX6U-ALPHA开发板(环境配置)
文章目录 一.文件互传 1.开启Ubuntu下的FTP服务 2.Windows下FTP客户端安装 二.Ubuntu 下 NFS 和 SSH 服务开启 1.NFS 服务开启 2.SSH 服务开启 三.U ...
最新文章
- Openwrt 刷机后配置WAN口,安装luci和设置中文、安装挂载USB存储。
- windows下 wgl 创建渲染上下文步骤
- [概率dp] Jzoj P2059 卡牌游戏
- php自动打印小票_php操作 cookie
- 【论文】NAACL2019 抽取式摘要之 SUMO
- MATLAB模糊控制解析及simulink仿真示例(附fis代码和simulink仿真slx文件以及文件使用视频)
- ankhsvn 使用_AnkhSVN:在Visual Studio中使用Subversion
- 教学设计-饭后百步走
- 零数据分析实习经历如何秋招?
- MIT6.828学习之Lab1
- WordPress给博客文章页添加个性名片
- redis setex php,redis中setex命令和set命令有什么区别
- 六大设计原则之接口隔离原则
- 数据结构二叉树的存储结构
- 前缀和-python
- 揭秘PLC(三)RTS之IO篇
- Outlook2016关联QQ邮箱
- shell脚本触发企业微信群机器人
- 如何判断自己的网站被攻击了
- CMPP3 消息定义2