淘小兔

android ndk是一个android编程开发软件。它是在SDK前面又加上了“原生”二字,即Native Development Kit,因此又被Google称为“NDK”。它支持32/64位使用,非常方便,有需要的朋友可以下载试试!

202203030248597788380000

android ndk简介

知识兔

在此之前,Android平台的第三方应用程序均是依靠基于Java的Dalvik特制虚拟机进行开发的。原生SDK的公布可以让开发者更加直接的接触Android系统资源,并使用传统的C或C++语言编写程序,并在程序封包文件(.apks)中直接嵌入原生库文件。

不过,Google也表示,使用原生SDK编程相比Dalvik虚拟机也有一些劣势,比如程序更加复杂,兼容性难以保障,无法访问Framework API,Debug难度更大等。开发者需要自行斟酌使用。

众所周知,Android程序运行在Dalvik虚拟机中,NDK允许用户使用类似C / C++之类的原生代码语言执行部分程序。

android ndk包括了什么?

知识兔

从C / C++生成原生代码库所需要的工具和build files。

将一致的原生库嵌入可以在Android设备上部署的应用程序包文件(application packages files ,即.apk文件)中。

支持所有未来Android平台的一些列原生系统头文件和库

Android NDK是在SDK前面又加上了原生二字,即Native Development Kit,因此又被Google称为NDK。

使用教程

知识兔

打开Eclipse,点Window-Preferences-Android-NDK,设置NDK路径,例如Shamoo的是E:\android-ndk-r9c

202203030249005501110001

新建一个Android工程,在工程上右键点击Android Tools-;Add Native Support...,然后给我们的.so文件取个名字,例如:my-ndk

202203030249016482100002

这时候工程就会多一个jni的文件夹,jni下有Android.mk和my-ndk.cpp文件。Android.mk是NDK工程的Makefile,my-ndk.cpp就是NDK的源文件。
接下来仿着NDK的demo,Hello-JNI工程写一下。使用Alt + 可以代码提示!很爽!有木有?之前用CDT时候死活都按不出代码提示,郁闷...
JNI接口的命名规范是:Java_ + 调用该方法的包名(包名的点用_代替) + _ + 调用该接口的类名 + _ + 方法名,对于实例方法,有两个参数是必要的,一个JNI的环境指针JNIEnv *

202203030249024670720003

完成了,然后运行。运行之前先编译NDK,然后在编译JAVA代码。编译也许会遇到Unable to launch cygpath. Is Cygwin on the path?如何解决?如下
工程右键,点Properties-C/C++ Build的Building Settings中去掉Use default build command,然后输入${NDKROOT}/ndk-build.cmd

202203030249034260940004

在C/C++ Build中点击Environment,点Add...添加环境变量NDKROOT,值为NDK的根目录

202203030249052270660005

下载体验

知识兔分享,仅供下载体验和测试学习。

请输入密码查看内容!

如何获取密码?

点击下载