android-ndk-r4下jni开发
来源:互联网 发布:淘宝去呢薅羊毛高手 编辑:程序博客网 时间:2024/05/22 00:52
jni的应用主要设计到java调用C/C++以及C/C++回调java。
首先是java调用c/c++中的函数,这部分比较简单,基本上市一下步骤:
编写java类,类似
public class CActivityMain extends Activity {
/** Called when the activity is first created. */
static {
System.loadLibrary("my_jni");
}
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
TextView tv = new TextView(this);
tv.setText( stringFromJNI() );
setContentView(tv);
}
public native String stringFromJNI();
}
其实就是简单的java调用类,我们主要是要把要使用的接口声明在
public native String stringFromJNI();
生成h的c/c++头文件
javah –jni com.hm.hello.CactivityMain
com.hm.hello是包名,CactivityMain是对应的jni接口生成的class文件
然后就是实现h文件中的函数就行了!
C/c++回调java
这个就有些麻烦,主要是分两中情况:1,同线程内调用。2,子线程内的调用!
JNIEXPORT jstring JNICALL Java_com_tymx_zndx_jni_stringFromJNI(JNIEnv *env, jobject obj)
{
return env->NewStringUTF("Hello from JNI !");
}
这种调用很简单,主要是注意参数以及数据结构的转化!!!
查看方法的签名方法:
首先进入bin目录,运行 javap -s -p -classpath 类路径 .java对应的class文件
E:\Android\Project\clientTest\bin>"C:\Program Files\Java\jdk1.6.0_25\bin\javap.exe" -s -p -classpath E:\Android\Project\clientTest\bin\com\tymx\zndx .ServiceTransactionServiceTransaction的路径E:\Android\Project\clientTest\bin\com\tymx\zndx;
- android-ndk-r4下jni开发
- android-ndk-r4下jni开发2
- windows下的android-ndk-r4开发环境
- android NDK R4+cygwin
- Android studio下JNI(NDK)开发
- Android studio下JNI(NDK)开发
- Android JNI/NDK 开发
- [Android开发]Mac下NDK开发(JNI)
- Android:Windows 下搭建NDK-JNI开发环境
- Android Studio下的NDK-JNI开发总结
- Android studio环境下的 NDK(jni)开发
- Android Studio下 NDK配置与Jni开发流程
- Android NDK开发----- JNI多线程
- Android JNI(NDK)开发总结
- Android NDK(JNI)开发
- Android Studio NDK jni 开发
- Android JNI技术, NDK开发
- Android Studio ndk-Jni开发
- TabHost(顶部)升级,利用RadioGroup,效果和我前面的一篇有关ActivityGroup一样。
- VOA1
- Oracle日志操作模式(归档模式和非归档模式)利与弊
- 数据库范式概念解析(第一范式,第二范式,第三范式)
- test
- android-ndk-r4下jni开发
- 《分析性能测试需求与基准测试》培训大纲(转载)
- aspx向silverlight传值
- 迷宫问题(栈的经典应用之一)
- JSP下载文件,直接下载文件保存到本地,不直接打开,没有乱码
- 区别open与fopen
- SourceAnywhere for Vss 配制BCompare比较工具
- Java与C# 差异(2011-7-19)
- IIS7上ReportingViewer的配置