- 浏览: 122991 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
kingbinchow:
android:tonghuaguanxin 写道请问,这个属 ...
修改EditText的光标颜色 -
tonghuaguanxin:
请问,这个属性在代码中如何设置?
修改EditText的光标颜色
The JNI is designed to handle situations where you need to combine Java applications with native code. As a two-way interface, the JNI can support two types of native code: native libraries and native applications.
JNI就是让Java代码与native代码(比如C和C++)交互的一种机制。
《The JNI Programmer's Guide and Specification》
--http://java.sun.com/docs/books/jni/html/intro.html#994
首先编辑一个Java文件Prompt.java
其中native用来声明一个方法,而方法的实现则交给C代码。static代码块用来加载接下来即将生成的libPrompt.so
然后编译刚才的Prompt.java,并通过javah生成一个C语言的头文件
这样就生成了一个Prompt.h文件,接下来编辑Prompt.c
编译Prompt.c来生成libPromt.so,虽然有些warning,不过还是能编译通过的
于是,可以运行了
JNI就是让Java代码与native代码(比如C和C++)交互的一种机制。
《The JNI Programmer's Guide and Specification》
--http://java.sun.com/docs/books/jni/html/intro.html#994
首先编辑一个Java文件Prompt.java
public class Prompt { private native String getLine(String prompt); public static void main(String[] args) { Prompt p = new Prompt(); String input = p.getLine("Type a line: "); System.out.println("User typed: " + input); } static { System.loadLibrary("Prompt"); } }
其中native用来声明一个方法,而方法的实现则交给C代码。static代码块用来加载接下来即将生成的libPrompt.so
然后编译刚才的Prompt.java,并通过javah生成一个C语言的头文件
javac Prompt.java javah -jni Prompt
这样就生成了一个Prompt.h文件,接下来编辑Prompt.c
#include <stdio.h> #include <jni.h> #include "Prompt.h" JNIEXPORT jstring JNICALL Java_Prompt_getLine(JNIEnv *env, jobject obj, jstring prompt) { char buf[128]; const jbyte *str; str = (*env)->GetStringUTFChars(env, prompt, NULL); if (str == NULL) { return NULL; } printf("%s", str); (*env)->ReleaseStringUTFChars(env, prompt, str); scanf("%s", buf); return (*env)->NewStringUTF(env, buf); }
编译Prompt.c来生成libPromt.so,虽然有些warning,不过还是能编译通过的
gcc -shared -fPIC -I /opt/java/include/ -I /opt/java/include/linux/ Prompt.c -o libPrompt.so
于是,可以运行了
java -Djava.library.path=. Prompt
发表评论
-
android studio debug 一直加载so文件
2017-06-24 16:15 533以前在debug时,一直很快就可以成功,但最近电脑卡,加上更新 ... -
心形vector drawable
2016-04-21 10:44 579<vector xmlns:android ... -
Gridview的第一个Item点击没反应,点击其他的item OK
2015-08-07 14:56 1616遇到一个前人挖下的大坑,各种没响应的呀,后来发现以下代码有问题 ... -
仿iOS 的AssistiveTouch 按键 Floating Action Button
2015-04-16 14:50 1270FloatButton fb = new FloatBu ... -
Android 常见错误处理
2015-04-03 16:03 9091.could not find "com.baid ... -
Android GirdView 最后一行显示不完整
2015-03-20 18:19 3456Android GridView 设置wrap_content ... -
import android eclipse project to android studio
2014-11-13 11:09 886Export from Eclipse 1.Update y ... -
关于android应用退出的问题(转)
2014-10-06 15:48 1205看到很多关于应用退出的问题,今天在这里为大家简单总结一下,如果 ... -
Canvas.drawTextOnPath 2D绘图
2014-07-23 17:18 675绘制文字效果,如下图 protected void onD ... -
android SAX parse xml
2014-07-17 16:22 594<?xml version="1.0&qu ... -
自定义menu,用PopupWindow截获KeyEvent
2014-07-17 15:49 1209public boolean onKeyDown(int ke ... -
Android 自动结束本层activity,回退到上一层 的intent 设置
2014-06-27 13:08 1921Intent intent = new Intent(); ... -
Android Custom View , can not use custom tag in xml file
2014-06-27 13:04 578add this line: xmlns:custom=&qu ... -
onMeasure()--典型视图度量时间
2013-02-18 15:42 956@Override protected void onMe ... -
AsynTask
2013-02-07 16:25 680... -
修改EditText的光标颜色
2013-01-29 15:02 4144在使用EditText的XML 文件中加入一个属性: and ... -
PopupWindow 的BadTokenException
2012-11-05 15:10 1280进入Activity就弹出PopupWindow 来,结果编译 ... -
android sqlite3 数据类型
2012-08-20 09:54 7068sqlite3中的数据类型 大多数的数据库引擎(到现在据我 ... -
android 入门xml布局文件--转
2012-07-10 15:58 875LinearLayout和RelativeLayout共有属性 ... -
Syntax error, static imports are only available if source level is 1.5
2012-06-05 10:20 1562Question: 工程之前一直正常运行,今早上 突然报出 S ...
相关推荐
webrtc-android-jni
android-aes-jni, 用于 jni& Java的Android AES示例 android-aes-jni git clone https://github.com/panxw/android-aes-jni.git cd android-aes-jni ndk-build
Android-ndk-jni AES加解密 压缩文件里面有 aes加解密 .c .h 文件 还用使用方法
Android--开发--_jni操作指南
android-custom-jni-namespace,.zip
See dlib-android for JNI lib. Refer to dlib-android/jni/jnilib_ex Grap the source $ git clone https://github.com/tzutalin/dlib-android-app.git Features Support HOG detector HOG Face detection ...
webrtc-android-jni,主要是让学习音视频处理的人下载放入自己的工程中使用
Android--开发--JNI编程指南
基于 Android NDK 的学习之旅-----JNI LOG 打印 eclipse工程文件
Android--开发--JNI 简介与实现
Android-NDK-MD5-安卓jni 进行md5加密; Android-NDK-MD5-安卓jni 进行md5加密
第一个android-studio下的Jni程序,第一次尝试android-studio做jni开发的可以看看。
Android 通过JNI调用驱动代码实例
android-ndk(android-ndk-r26b-windows.zip)适用于Windows系统
ffmpeg编译后生成的 so文件 .h .c 文件
Sand 使用JNI实现Sobel算子图像边缘检测的Android库
与http://blog.csdn.net/xsz_1025/article/details/52461668配套的代码示例
android-ndk(android-ndk-r25b-windows.zip)适用于Windows系统
android JNI,适合android开发人员,特别是驱动级别的开发人员
android-ndk(android-ndk-r25b-linux.zip)适用于Linux系统