zhuan(http://luco1130.blog.163.com/blog/static/61326621201091711407115/)
第一步需要下载android_ndk
然后需要安装Cygwin,然后找到目录:
C:\cygwin\home\Administrator
在.bashrc文件的末尾添加:
NDK=/cygdrive/e/EclipseForAndroid/android_ndk(加下划线的为NDK的目录)
export NDK
需要在NDK目录下新建一个apps文件夹。然后再这个文件夹中可以新建我们的native方法源文件。
例如:apps/myjin/jni,即新建了一个myjni工程,jni下放置源码hello-jni.h和hello-jni.c
1.在源码目录(上面的jni)下需要编写Android.mk文件
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := myjni
LOCAL_SRC_FILES := hello-jni.c
include $(BUILD_SHARED_LIBRARY)
2.在项目文件夹(上面的myjni)顶层目录需要编写Applicationi.mk
APP_PROJECT_PATH := $(call my-dir)
APP_MODULES := myjni
编写NDK步骤:
1.新建Android项目jniTest(com.luochao.jniTest)
2.书写java native接口JNI(有一个Hello方法),和JAVA中一样声明一个native方法
3.在jniTest类中调用接口:
首先需要连接库:
static{
System.loadLibrary("myjni");
}
JNI myJNI = new JNI();
tv.setText(myJNI.Hello());//tv为jniTest的一个textview
4.生成相应的.h头文件
cd到jniTest的bin目录下:javah -classpath . -jni com.luochao.jniTest.JNI
有的环境是直接输入javah com.luochao.jniTest.JNI就可以了。
即生成了com_luochao_jniTest_JNI.h头文件
5.编写相应的.c文件。
在NDKD的source目录下新建一个文件夹myjni
在这个文件中新建一个Application.mk文件。
然后添加一个jni文件夹,将生成的.h和.c文件复制到这个文件夹中,并且新建一个
Android.mk文件。
6.编译生成库文件:
cd $NDK//进入到ndk目录
make APP=myjni//即可生成lib库。
将生成的lib文件夹整个拷贝到android目录下。
7.运行Android项目即可
分享到:
相关推荐
要在Android Studio中引入JNI程序,你需要在Java代码中声明本地方法。例如,你可以在一个类中定义一个native关键字修饰的方法: ```java public class MainActivity extends AppCompatActivity { static { System...
Android中的JNI(Java Native Interface)是Java平台提供的一种技术,允许Java代码和其他语言写的代码进行交互。JNI在Android开发中扮演着重要的角色,特别是在需要高效计算、调用系统底层库或者利用硬件特性时。本...
Android JNI(Java Native Interface)是Android开发中的一个重要概念,它允许Java代码和其他语言(如C++、C)编写的代码进行交互。JNI在Android应用开发中有着广泛的应用,例如提高性能、利用现有C/C++库或者实现...
JNI常用于提高应用程序性能,访问特定硬件功能,或者像本例中所示,执行安全操作,如AES加密。AES(Advanced Encryption Standard)是一种广泛应用的对称加密算法,用于保护数据的安全。 Android的JNI实现通常涉及...
Android 通过 JNI(Java Native Interface)调用.so 动态库是 Android 开发中的一种常用技术。JNI 是一种允许 Java 代码与 native 代码之间进行交互的接口。通过 JNI,我们可以在 Android 项目中调用.so 动态库中的 ...
Android Studio 3.4 配置 Android-JNI 开发基础是 Android 应用程序开发中的一项重要技术,能够帮助开发者更好地编写 Android 应用程序。本文将详细介绍如何在 Android Studio 3.4 中配置 Android-JNI 开发基础,...
在Android系统中,Java Native Interface (JNI) 是一个关键组件,允许Java代码与其他语言(如C++或C)编写的代码进行交互。本项目聚焦于如何利用JNI来访问硬件资源,特别是控制LED设备。以下是对这个主题的详细阐述...
在Android开发中,JNI(Java Native Interface)是一个关键的组件,它允许Java代码与本地(C/C++)代码进行交互。JNI在许多场景下都扮演着重要的角色,比如提升性能、利用硬件加速、调用系统库或者第三方库,以及...
通过分析这个项目,可以更深入地理解JNI的使用方法,包括如何在Android Studio中设置,如何编写C/C++代码,以及如何在Java中调用这些本地方法。 总结,"Android Studio JNI 调用demo"是一个实践教程,旨在帮助...
Android Studio JNI Demo是一个关于在Android开发环境中使用Java Native Interface(JNI)的实例教程。JNI是Android平台中用于在Java代码和本地C/C++代码之间建立桥梁的技术,它允许开发者利用C/C++的强大性能来处理...
android中jni的简单使用示例代码
Android NDK JNI 经典实例Android NDK JNI 经典实例Android NDK JNI 经典实例Android NDK JNI 经典实例Android NDK JNI 经典实例Android NDK JNI 经典实例Android NDK JNI 经典实例
总之,"Android 串口JNI代码"是指使用JNI技术在Android平台上实现串口通信功能,允许应用程序与外部硬件设备进行数据交换。通过创建本地方法并在C/C++层面处理串口操作,开发者可以绕过Android SDK的限制,实现更...
1. **设置JNI环境**:首先,你需要在Android Studio的`build.gradle`文件中启用NDK支持,并指定所需的ABI(应用程序二进制接口)。例如: ```groovy android { ... defaultConfig { ... externalNativeBuild { ...
在Android开发中,JNI(Java Native Interface)是一个关键的组件,它允许Java代码与其他语言(如C++或C)编写的代码进行交互。这个“Android--JNI-Device.zip”文件显然是一个关于Android平台上使用JNI与硬件设备...
在Android开发中,JNI(Java Native Interface)是一个关键的技术,它允许Java代码和其他语言写的代码进行交互。JNI在很多场景下都非常有用,比如优化性能、使用现有的C/C++库、或者像在这个“JniCallback.zip”文件...
Android Studio 是Google官方...通过这个示例,新手可以了解如何在Android Studio项目中配置JNI,编写和调用本地方法,以及如何利用NDK进行C++开发。实践是学习的最佳途径,动手尝试这个示例将加深对JNI和NDK的理解。
Android JNI(Java Native Interface)是Android系统中一个重要的技术,它允许Java代码和其他语言写的代码进行交互。JNI在Android开发中扮演着不可或缺的角色,尤其是在进行性能优化、利用硬件加速、调用C/C++库或者...
首先,我们需要理解Android的NDK(Native Development Kit),它是Android提供的一套工具,用于在C/C++环境中编写部分应用程序,然后通过JNI与Java层进行交互。要实现JNI调用Python解释器,我们需要以下步骤: 1. *...
在开发跨平台应用程序时,Qt框架提供了一个强大的工具集,允许开发者使用C++编写代码,同时也能在Android这样的移动平台上运行。"Qt for Android 用JNI来使C++和Java互调"的主题揭示了如何利用JNI(Java Native ...