This article original, reproduced please indicate the source: http://blog.csdn.net/qinjuningThere are two types of data in Java: Basic types and reference types, which everyone knows.Similar data types exist in the JNI world, which, compared to Java, is more rigorous in scope, as follows:1, primitive types----basic data types, such as: int, float, char and other basic types2, reference types----reference type, such as: Class, instance, array.It is imp
Compile the JNI method for the hardware abstraction layer (HAL) module of Android in Ubuntu to provide the Java access hardware service interface (Lao Luo study note 4), androidjni
In the last two articles, we introduced how to write drivers for Android hardware, including how to implement kernel drivers in Linux kernel space and Hardware Abstraction Layer interfaces in user space. The purpose of both is to provide a hardware access interface to the p
) { e.printStackTrace(); }
Many methods are provided in JNI. You can call the methods in java in reverse order, for example, the following code:
PackageInfo packageInfo = getPackageManager (). getPackageInfo ("com. klxx. as", PackageManager. GET_SIGNATURES );
We can use JNI to write it as follows:
// Obtain the Context class jclass native_claz
cocos2d-x Animation}}
Public native string stringfromjni (); // declare the method in C
// Load CC-JNI library. The CC-JNI library is compiled by ndk.
Static {System. loadlibrary ("cc-JNI ");}
}
2. the header file of C is generated by javah (see http://tech.ddvip.com/2012-10/1351226397184207.html)
CD to the root directory of the project
Run
Since: http://book.51cto.com/art/201305/395888.htm has read a lot of articles about JNI, or the author of this article to talk about the best, the most point.
This book should be well written.
2.4.3 JNI method signature rules
With the ing between data types, JNI can correctly identify and convert Java types. So how does JNI
JNI is the abbreviation for Java Native interface, and Chinese is a native call to Java. Using JNI makes it easy to use our Java program to call a C + + program. Most of the time, some functions are not implemented in Java, for example, some of the functions of the underlying driver, we can use JNI to invoke C or C + +
. exceptionclear clear the exception just thrown.
5. fatalError has a special role and generates a fatal error. android123 prompts that the JVM will be shut down, that is, the program stops running, so be cautious when using it.
Let's take the C ++ code as an example to briefly describe how to use it.
Env-> findclass ("android123cwj"); // assume that this class does not exist.
In this way, the JVM does not exist because the android123cwj class does n
parameter is null, ljava/lang/string indicates that the function return value is a string object of Java④ Compile the. c/CPP File⑤ Create an android. mk File(Same directory as the. c file)⑥ Compile and generate the. So file
In addition:Borrow an image from the Refs-8, as shown below
3. Example: testjni ([cygwin] in windows, for the Linux environment, please refer to the article in refs) ① create an android project and compile the testjni.
MTK Platform If you add a button light on the hardware, the third-party app and the framework layer want to call, all need to pass the JNI interface, the specific usage is not the same, here is a brief introduction of my use of the process.First, you need to add KEYLED.C and header files KeyLed.h two interface functions:(\HARDWARE\LIBHARDWARE_LEGACY\KEY_LEDS\KEY_LEDS.C)(\hardware\libhardware_legacy\include\hardware_legacy\keyled.h)1, Here is a brief i
Jni:JNI is the abbreviation for Java Native Interface, which provides a number of APIs that enable the communication of Java and other languages (primarily cc++). Starting with Java1.1, the JNI standard becomes part of the Java platform, which allows Java code to interact with code written in other languages. JNI was initially designed for local compiled languages, especially C and C + +, but it does not pr
In the process of Android version development, we need to use some of the NDK's native libraries developed with JNI. Here to talk about stepping on the pit, for everyone's reference.Although Java program I am familiar with, but did not understand the development of JNI Native, is generally directly developed. NET call. So library.There is a library from Java code porting, and there is no source code, and th
Qt on Android: Using JNI and third-party jar packages, androidjni
Many of my friends asked this in the Forum and QQ group. Today I have time to write a simple example.
The function is simple. You can enter a web page address and use the Java download class library to download it and use QTextEdit to display it.
All Rights Reserved: foruok. For more information, see http://blog.csdn.net/foruok.Effect display
Android Studio uses the jni and so libraries and androidjniAndroid Studio uses the jni and so Libraries
After Android Studio1.1, AS has already supported the jni and so libraries. The official version 1.3 is now released. It can compile c and c ++ in the clion environment, it is more convenient to use NDK for development. There are many examples on the Internet t
Introduction to JNIJNI (Java Native Interface), Java Local interfaceJNI is one of the many Java development technologies that are designed to leverage native code to provide more efficient and flexible development of Java programs. The application scenarios include: the implementation of the efficiency-sensitive algorithm, cross-platform application porting, invoking the system's underlying driver, calling the hardware, etc. Although Java has always been known for its good cross-platform, the Tr
/lang/string;) V"); if(method4==0) {Logi ("Find METHOD4 Error"); return; } logi ("Find METHOD4"); //3. Call a static Java method//void (*callstaticvoidmethod) (jnienv*, Jclass, Jmethodid, ...);(*env)Callstaticvoidmethod(ENV,DPCLAZZ,METHOD4, (*env)->newstringutf (env,"static haha in c"));}4. If the Java method called by C is not in a class.Analysis: The methods provided by JNI have two parameters:(jnienv *env, Jobject obj). Env is a collection of metho
JNI function names are divided into three parts:The first is the Java keyword for Java Virtual Machine recognition; for example, Java_com_example_hellojni_HelloJni_stringFromJNIJava: keywordCom_example_hellojni: package nameHelloJni: File Name (originally named hello_jni)StringFromJNI: function nameThen the caller Class Name (fully qualified class names, with underlines instead of name delimiters );Finally,
1. Jnr Brief Introduction
Following "The alternative to JNI-using JNA to access the Java external function interface", we know that JNI is becoming less popular, and JNI is a standard programming interface for writing Java native methods and embedding Java virtual machines in local applications. It manages the boundaries between the JVM and the unmanaged local e
Android ndk development swig compilation jni Interface
I believe that more and more Android programmers need to use Android ndk to develop swig to compile the jni interface, because it is designed for underlying programming. If the development project has hardware products, they should be more familiar with programming in this area. I also read a lot of blogs on the Internet. In general, there are some diff
Java passes the data to the C example:public class JNI {static{System.loadlibrary ("PassData");}Pass two variables of type int to C let C add a second to returnpublic native int Add (int x, int y);Pass arguments of type string to C and return toPublic native string Sayhelloinc (string s);Passing an array of type int to CPublic native int[] Arrelementsincrease (int[] intarray);}Written in the C language:#include #include #include #define LOG_TAG "Syste
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.