`
朱润泽
  • 浏览: 47320 次
  • 性别: Icon_minigender_1
  • 来自: 江西
社区版块
存档分类
最新评论

android JNI 入门

 
阅读更多

我在测试JNI时,如下进行:

 

1、创建一个android项目,名为JNIDemo2

 

 

2、在Activity中声明一个native方法  

 

private nativve String test();

 

        static{

 

System.loadLibrary("hellojni");

}

 

    这样java层的代码完成。

 

3、用javah命令生成.h头文件(注意: javah 应该是完整的包名和类名)

 

   cmd进入classes目录下执行 javah -classpath packageName+className

 

   javah -classpath com.list.activity.MainActivity 将生成com_list_jnidemo_MainActivity.h 头文件

 

 

4、 将头文件发到项目的指定位置,同时在该位置下新建一个.c文件。如:helloJNI.c

 

5、在helloJNI.c 中实现头文件的方法

 

6、编写Android.mk文件

 

    LOCAL_PATH := $(call my-dir)

 

include $(CLEAR_VARS)

 

LOCAL_MODULE    := hellojni

LOCAL_SRC_FILES := helloJNI.c

 

include $(BUILD_SHARED_LIBRARY)

 

7、使用cygwin工具编译:进入该项目的跟目录。

 

   执行$NDK/ndk-build

 

$ $NDK/ndk-build

Compile thumb  : hellojni <= helloJNI.c

SharedLibrary  : libhellojni.so

Install        : libhellojni.so => libs/armeabi/libhellojni.so

 

8、运行项目。


分享到:
评论

相关推荐

    Android JNI入门Demo

    这个"Android JNI入门Demo"是一个适合初学者了解和学习JNI基础操作的实践项目。 在Android开发中,JNI的应用场景广泛,例如:提升性能的关键算法实现、调用系统库、访问硬件设备、游戏开发中的图形渲染等。下面将...

    JNI入门Demo3.0

    通过这个"JNI入门Demo3.0",我们可以深入理解动态注册Native函数的概念和实现,从而在实际项目中更灵活地使用JNI。需要注意的是,动态注册虽然方便,但也需要谨慎处理,因为它可能会引入运行时错误,如方法签名不...

    Android Studio JNI开发入门教程

    Android Studio的JNI(Java Native Interface)开发入门教程 JNI,全称为Java Native Interface,是Java平台标准的一部分,它允许Java代码和其他语言写的代码进行交互。JNI在Android开发中扮演着重要角色,尤其当...

    hello jni的源代码

    【描述】"android jni 入门的源代码"意味着这个压缩包包含了一套简单的示例项目,旨在帮助初学者理解如何在Android应用中使用JNI。通常,这样的项目会包含Java层的接口定义和对应的本地方法实现,通过JNI桥接调用。 ...

    android jni 中文字符传递demo

    虽然提供的压缩包文件名称列表只包含了"HelloWorld",通常这是JNI入门的典型示例,但在处理中文字符的情况下,这个简单的“你好,世界!”可能已经扩展为包含中文字符。开发者可能通过修改这个基础的"HelloWorld...

    android jni NDK 经典入门

    android jni NDK 经典入门

    android jni demo--helloworld

    总结来说,这个"android jni demo--helloworld"是Android开发者学习JNI入门的典型示例,通过它,我们可以了解如何在Java和C/C++之间建立桥梁,以及如何在Android项目中有效地利用JNI功能。对于深入的Android开发,...

    android jni开发入门

    Android JNI(Java Native Interface)开发入门是Android应用开发中的一个重要环节,它允许Java代码和其他语言写的代码进行交互。JNI在Android系统中起到了桥梁的作用,使得开发者可以利用C、C++等本地代码来实现...

    Android jni 编程实例

    在这个"Android jni 编程实例"中,我们将探讨如何在Android Studio环境下进行JNI开发,通过一个简单的入门demo来学习这个过程。 首先,我们需要了解JNI的基本概念。JNI是Java平台提供的一种接口,它允许Java代码...

    Android下JNI入门详解

    ### Android下JNI入门详解 #### 一、JNI与VM简介 JNI(Java Native Interface)作为Android平台上连接Java层与C/C++层的关键桥梁,在开发过程中起着至关重要的作用。通过JNI,开发人员能够实现Java与C/C++代码之间...

    hello-jni.rar_ android jni_android hello jni_android jni hellojn

    《Android NDK与JNI开发详解:从Hello-JNI入门》 Android系统以其开源性和灵活性吸引了大量的开发者,而JNI(Java Native Interface)则是Android平台中连接Java层与原生C/C++代码的重要桥梁。JNI允许开发者在...

    Android Studio JNI编程入门实例

    通过以上步骤,你已经成功实现了Android Studio中的JNI编程入门。然而,这只是基础,实际开发中可能需要处理更复杂的情况,如多线程、内存管理、错误处理等。同时,CMakeLists.txt作为现代的构建系统,提供了更多...

    Android jni demo

    本示例“Android JNI Demo”提供了一个入门级别的工程,帮助开发者了解和学习如何在Android项目中使用JNI。 首先,我们需要理解JNI的基本概念。JNI是一个接口,使得Java虚拟机(JVM)能够调用本地(即非Java)代码...

    android_jni操作指南.pdf

    根据提供的文件信息,以下是对...综上所述,这份Android JNI操作指南将涵盖如何搭建适合JNI开发的环境,以及通过一个简单示例程序来具体展示Java与C/C++代码之间的交互,对初学者而言是理解和应用JNI的一个入门指导。

    Android Studio jni开发之经典入门demo

    以下是一个基础的Android Studio JNI入门教程: 1. **环境配置**: 在Android Studio中,首先确保已经安装了NDK(Native Development Kit),它是Android平台提供用来开发C/C++原生代码的工具集。在项目级的`build...

    android jni helloword

    "android jni helloworld"这个标题暗示我们将讨论一个简单的JNI入门教程,可能是通过一个实际的 HelloWorld 示例来介绍如何配置环境并进行调试。 在Android Studio 2.3.3中,配置JNI开发环境涉及以下步骤: 1. **...

    Android JNI开发手册

    本手册是Android开发者入门JNI的重要资料,包含了大量示例和教程,帮助开发者高效地学习如何在Android平台上运用JNI。 第一章介绍了JNI的完整概念和用途,是学习JNI的起点。之后的章节通过具体的实例,讲解了如何...

    Android 入门JNI的函数统计

    以前开发JNI是整理的一个JNI表格,都是常用的JNI函数,并且是个excel表格,方便查询,里面有各个函数的用法,挺好的资料,分享给大家参考

    android jni开发指南

    ### Android JNI 开发指南 #### 一、简介 Android 的 JNI (Java Native Interface) 技术允许开发者在 Android 应用程序中调用 C 或 C++ 编写的原生代码,这种...希望这份指南能帮助您顺利入门 Android 的 JNI 开发。

    Android JNI开发入门之C/C++实现示例程序

    Android应用程序(APK)怎样通过JNI调用Native C/C++实现的共享库。Android系统的Java虚拟机为C和C++实现两套不同的API,本工程分别对其作出示例程序。并编译出libhelloworld.so/libhelloworldcpp.so共享库

Global site tag (gtag.js) - Google Analytics