Java programming with Java Native Interface ( JNI ) / Calling Native C functions from JAVA using JNI

pre-requisite – Install Java SE Development Kit 6u14 under /usr/jdk1.6.0_14
Write a JAVA class [ ]

public class HelloWorld  { static { System.loadLibrary("hello"); } public native void printHelloWorld();

Compile the class using javac

sudo javac

after this HelloWorld.class file should get created.
Create header file required for writing a native program

sudo javah -jni HelloWorld

Write a helloworld.c native c program.

#include "HelloWorld.h"
#include <stdio.h>
Java_HelloWorld_printHelloWorld (JNIEnv *env, jobject obj) { printf("Hello Worldn");

Create a shared library.

gcc -I/usr/jdk1.6.0_14/include -I/usr/jdk1.6.0_14/include/linux -shared -o HelloWorld.c

Write a Main java class[ ], which will call native function.

public class Main { public static void main(String[] args) { new HelloWorld().printHelloWorld(); }



Run the program

java Main

1) Using the JAVA Native interface’s
2) JNI Example
3) Integrating Native methods into Java
4) Imp- Introduction to JNI

Android Android Commands Android Java Applications Application Libraries Application Stack / User Interface Bash / Shell Scripts Commands and Packages Compilation Content Management System - CMS Core Kernel C Programs Development & Build Development Environment Setup Errors & Failures Flutter git Go Language Programs Hardware Platforms HTML JAVA Programs Kernel & Device Drivers Linux, OS Concepts and Networking Linux Device Drivers Linux Host, Ubuntu, SysAdmin Linux Kernel Linux Networking Middleware Libraries, HAL Monetization / Google AdSense NDK / Middleware / HAL OS Concepts PHP Programming Languages RaspberryPi Scripting and Automation Search Engine Optimisation ( SEO ) Social Media Socurce Code Management ( SCM ) System Administration, Security Testing and Debugging Uncategorized User Interface Userspace Utilities Web design and development Wordpress Yocto / Bitbake / Openembedded
Tags: ,

Leave a Reply / Ask Question