Android 中 c 代码回调Java代码的详细步骤(jni、NDK的使用)
来源:互联网 发布:复杂网络应用实例 编辑:程序博客网 时间:2024/05/22 06:55
在Android中大多数是我们进行调用java语言调用c语言进行使用,而很少使用c语言进行回调java语言使用。在本篇主要介绍的是c语言调用java语言
1、创建一个项目,在项目中创建一个DataProvider类进行使用,代码如下:
package com.yoyoyt.encrypt;/** * 作者:刘净辉 * 日期:2017/6/1 17:34 */public class DataProvider { static { System.loadLibrary("hello"); } /** * C调用java空方法 */ public void nullMethod() { System.out.println("hello from java"); } /** * C调用java中的带两个int参数的方法 * * @param x * @param y * @return */ public int Add(int x, int y) { int result = x + y; System.out.println("result in java " + result); return result; } /** * C调用java中参数为String的方法 * * @param s */ public void printString(String s) { System.out.println("java " + s); } // 本地方法 public native void callMethod1(); public native void callMethod2(); public native void callMethod3();}
2、进行编译生成class文件,生成头文件步骤
(1)在Android Studio中的Terminal 视图下输入
cd D:\androidstudioproject\Encrypt\app\build\intermediates\classes\debug
(2)在这个下面输入如下命令
javah -classpath . -jni com.yoyoyt.encrypt.DataProvider
这样,我们的头文件生成出来,我们可以在\app\build\intermediates\classes\debug看见
3、查看类的方法签名
(1)在Terminal 输入如下命令
javap -s -p -classpath . com.yoyoyt.encrypt.DataProvider
(2)效果如下:
阅读全文
0 0
- Android 中 c 代码回调Java代码的详细步骤(jni、NDK的使用)
- Android NDK的C/C++代码中利用JNI回调实现字符编码转换
- Android NDK的C/C++代码中利用JNI回调实现字符编码转换
- Android NDK的C/C++代码中利用JNI回调实现字符编码转换
- NDK开发(1)——JAVA通过JNI调用C代码详细步骤
- Android NDK的C/C++代码中利用JNI回调实现字符编码转换的试验(中文UTF8与GBK)
- Android NDK的C/C++代码中利用JNI回调实现字符编码转换的试验(中文UTF8与GBK)
- Android NDK的C/C++代码中利用JNI回调实现字符编码转换的试验(中文UTF8与GBK)
- android使用ndk-stack调试JNI部分的C/C++代码
- Android NDK 使用JNI调用java代码,通用代码封装
- Java应用中通过JNI嵌入c或者汇编代码来抓取qtrace的步骤
- Android中使用jni,ndk的C语言回调方法
- android ndk c代码调用java的代码
- Android-NDK开发之基础--Android JNI实例代码(一)-- 在JNI中执行Java方法--C/C++调用Java
- Android-NDK开发之基础--Android JNI实例代码(一)-- 在JNI中执行Java方法--C/C++调用Java
- Android-NDK开发之基础--Android JNI实例代码(一)-- 在JNI中执行Java方法--C/C++调用Java
- android studio中使用ndk编译.so文件,调用C/C++代码(jni编程)
- Android NDK混合使用java和C/C++代码--Hello JNI
- 自己写的一款基于移动端的图片浏览器插件
- tomcat8 编写字符编码Filter过滤器无效问题
- Android 微信分享链接部分手机无法成功分享
- SuperMap iMobile for Android许可配置介绍
- HDU2577
- Android 中 c 代码回调Java代码的详细步骤(jni、NDK的使用)
- 图片的压缩
- 面试题目3:二维数组中的查找
- Win7 64位+VS2010+OpenCV2.4.9环境配置
- Android 官方翻译相关文章
- Hibernate与 MyBatis的比较
- 152. Maximum Product Subarray
- 刷题--树的子结构
- Windows 窗口层次关系(转)