`
xfjt297857539
  • 浏览: 153186 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Android中JNI程序的编写(zhuan)

阅读更多
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 程序

    要在Android Studio中引入JNI程序,你需要在Java代码中声明本地方法。例如,你可以在一个类中定义一个native关键字修饰的方法: ```java public class MainActivity extends AppCompatActivity { static { System...

    Android中JNI测试程序

    Android中的JNI(Java Native Interface)是Java平台提供的一种技术,允许Java代码和其他语言写的代码进行交互。JNI在Android开发中扮演着重要的角色,特别是在需要高效计算、调用系统底层库或者利用硬件特性时。本...

    最简单的Android JNI程序

    Android JNI(Java Native Interface)是Android开发中的一个重要概念,它允许Java代码和其他语言(如C++、C)编写的代码进行交互。JNI在Android应用开发中有着广泛的应用,例如提高性能、利用现有C/C++库或者实现...

    Android中JNI实现AES加密源代码

    JNI常用于提高应用程序性能,访问特定硬件功能,或者像本例中所示,执行安全操作,如AES加密。AES(Advanced Encryption Standard)是一种广泛应用的对称加密算法,用于保护数据的安全。 Android的JNI实现通常涉及...

    Android通过JNI调用.so动态库

    Android 通过 JNI(Java Native Interface)调用.so 动态库是 Android 开发中的一种常用技术。JNI 是一种允许 Java 代码与 native 代码之间进行交互的接口。通过 JNI,我们可以在 Android 项目中调用.so 动态库中的 ...

    android studio 3.4配置Android -jni 开发基础的教程详解

    Android Studio 3.4 配置 Android-JNI 开发基础是 Android 应用程序开发中的一项重要技术,能够帮助开发者更好地编写 Android 应用程序。本文将详细介绍如何在 Android Studio 3.4 中配置 Android-JNI 开发基础,...

    android通过JNI访问硬件LED

    在Android系统中,Java Native Interface (JNI) 是一个关键组件,允许Java代码与其他语言(如C++或C)编写的代码进行交互。本项目聚焦于如何利用JNI来访问硬件资源,特别是控制LED设备。以下是对这个主题的详细阐述...

    Android中JNI编程的那些事儿

    在Android开发中,JNI(Java Native Interface)是一个关键的组件,它允许Java代码与本地(C/C++)代码进行交互。JNI在许多场景下都扮演着重要的角色,比如提升性能、利用硬件加速、调用系统库或者第三方库,以及...

    Android Studio JNI 调用demo

    通过分析这个项目,可以更深入地理解JNI的使用方法,包括如何在Android Studio中设置,如何编写C/C++代码,以及如何在Java中调用这些本地方法。 总结,"Android Studio JNI 调用demo"是一个实践教程,旨在帮助...

    android studio jni demo

    Android Studio JNI Demo是一个关于在Android开发环境中使用Java Native Interface(JNI)的实例教程。JNI是Android平台中用于在Java代码和本地C/C++代码之间建立桥梁的技术,它允许开发者利用C/C++的强大性能来处理...

    android中jni的简单使用

    android中jni的简单使用示例代码

    Android NDK JNI 经典实例

    Android NDK JNI 经典实例Android NDK JNI 经典实例Android NDK JNI 经典实例Android NDK JNI 经典实例Android NDK JNI 经典实例Android NDK JNI 经典实例Android NDK JNI 经典实例

    Android 串口 JNI 代码

    总之,"Android 串口JNI代码"是指使用JNI技术在Android平台上实现串口通信功能,允许应用程序与外部硬件设备进行数据交换。通过创建本地方法并在C/C++层面处理串口操作,开发者可以绕过Android SDK的限制,实现更...

    android studio JNI demo

    1. **设置JNI环境**:首先,你需要在Android Studio的`build.gradle`文件中启用NDK支持,并指定所需的ABI(应用程序二进制接口)。例如: ```groovy android { ... defaultConfig { ... externalNativeBuild { ...

    Android--JNI-Device.zip_Android jni_android_jni_jni android

    在Android开发中,JNI(Java Native Interface)是一个关键的组件,它允许Java代码与其他语言(如C++或C)编写的代码进行交互。这个“Android--JNI-Device.zip”文件显然是一个关于Android平台上使用JNI与硬件设备...

    JniCallback.zip_Android jni_android_jni android_jni callback_jni

    在Android开发中,JNI(Java Native Interface)是一个关键的技术,它允许Java代码和其他语言写的代码进行交互。JNI在很多场景下都非常有用,比如优化性能、使用现有的C/C++库、或者像在这个“JniCallback.zip”文件...

    AndroidStudio jni 示例

    Android Studio 是Google官方...通过这个示例,新手可以了解如何在Android Studio项目中配置JNI,编写和调用本地方法,以及如何利用NDK进行C++开发。实践是学习的最佳途径,动手尝试这个示例将加深对JNI和NDK的理解。

    android-jni.zip_Android jni_android_jni_jni android

    Android JNI(Java Native Interface)是Android系统中一个重要的技术,它允许Java代码和其他语言写的代码进行交互。JNI在Android开发中扮演着不可或缺的角色,尤其是在进行性能优化、利用硬件加速、调用C/C++库或者...

    Android使用JNI调用Python so解释器

    首先,我们需要理解Android的NDK(Native Development Kit),它是Android提供的一套工具,用于在C/C++环境中编写部分应用程序,然后通过JNI与Java层进行交互。要实现JNI调用Python解释器,我们需要以下步骤: 1. *...

    Qt for Android 用JNI来使C++和Java互调(目前最新版全网只有这个可用)

    在开发跨平台应用程序时,Qt框架提供了一个强大的工具集,允许开发者使用C++编写代码,同时也能在Android这样的移动平台上运行。"Qt for Android 用JNI来使C++和Java互调"的主题揭示了如何利用JNI(Java Native ...

Global site tag (gtag.js) - Google Analytics