1.hello-jin-c是linux下的c实现文件。
(使用NDK编译成.so文件,供java层调用)。
2.helloJni是java工程。(里面通过JNI调用下面.so中提供的c的实现。)
同理.so里面也可以调用回调java里面实现的文件。
3.一些区别:
(1)c调java 和c++调java的区别。(c调的时候多一个参数,4个参数)
(2)里面注意:static函数,和非static函数的区别,使用的函数不一样。
如:
java中的 public static void showMessage(String str1) //静态方法
在c中需要分别使用:
1.先找到JAVA中的类:
jclass java_class= (*env)->FindClass(env,"com/example/hellojni/HelloJni");
2.找到要调用的方法:
调用静态:jmethodID java_method = (*env)->GetStaticMethodID(env,java_class, "showMessage", "(Ljava/lang/String;)V");
调用非静态:jmethodID java_method = (*env)->GetMethodID(env,java_class, "showMessage", "(Ljava/lang/String;)V");
以上重点是:"(Ljava/lang/String;I)V"
(1)Ljava/lang/String----------:代表string类型参数。
(2)I-----------代表int型参数。
(3)V-----------代表查找的该函数返回值为void类型。
3.C中调用Java的 方法
调用静态:(*env)->CallStaticVoidMethod(env,java_class,java_method,str1);
调用非静态:(*env)->CallVoidMethod(env,java_class,java_method,str1);//Void表示调用方法的返回值 ,如:Void,Object,等等
没有合适的资源?快使用搜索试试~ 我知道了~
JNI(java-c).rar_C/C++层回调Java_JAVA LINUX so_NDK SO_java jni linux
共73个文件
class:11个
xml:8个
so:7个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 43 浏览量
2022-09-22
22:40:13
上传
评论
收藏 1.71MB RAR 举报
温馨提示
实现了java-c的互调 1.hello-jin-c是linux下的c实现文件。 (使用NDK编译成.so文件,供java层调用)。 2.helloJni是java工程。(里面通过JNI调用下面.so中提供的c的实现。) 同理.so里面也可以调用回调java里面实现的文件。
资源详情
资源评论
资源推荐
收起资源包目录
JNI(java-c).rar (73个子文件)
JNI(java-c)
hello-jni-c.rar 311KB
HelloJni
bin
classes.dex 3KB
res
drawable-ldpi
icon.png 2KB
drawable-hdpi
icon.png 4KB
drawable-mdpi
icon.png 2KB
HelloJni.apk 310KB
classes
com
example
hellojni
R$layout.class 400B
R$drawable.class 406B
HelloJni.class 2KB
R$attr.class 346B
R.class 501B
R$string.class 433B
resources.ap_ 10KB
res
drawable-ldpi
icon.png 2KB
drawable-hdpi
icon.png 4KB
values
strings.xml 163B
drawable-mdpi
icon.png 3KB
layout
main.xml 382B
assets
default.properties 18B
gen
com
example
hellojni
R.java 642B
proguard.cfg 1KB
.settings
org.eclipse.jdt.core.prefs 208B
src
com
example
hellojni
HelloJni.java 3KB
.project 844B
.classpath 364B
project.properties 361B
AndroidManifest.xml 639B
libs
armeabi
libhello-jni.so 11KB
liblighttpd_jni.so 3KB
.svn
all-wcprops 88B
prop-base
props
tmp
prop-base
props
text-base
text-base
entries 204B
liblighttpd.so 859KB
hello-jni-c
hello-jni-c
bin
HelloJni-unsigned.apk 108KB
classes.dex 2KB
HelloJni.ap_ 1KB
classes
com
example
hellojni
HelloJni.class 947B
R$attr.class 346B
R.class 397B
R$string.class 404B
res
values
strings.xml 110B
obj
local
armeabi
libmyjni.so 22KB
libhello-jni.so 24KB
objs-debug
hello-jni
hello-jni.o.d 1KB
hello-jni.o 28KB
build.xml 3KB
mk_ant.sh 331B
default.properties 364B
gen
com
example
hellojni
R.java 379B
tests
build.xml 3KB
default.properties 364B
proguard.cfg 1KB
src
com
example
HelloJni
HelloJniTest.java 655B
local.properties 439B
AndroidManifest.xml 1KB
jni
t
Android.mk 842B
t1
Android.mk 939B
cc_androidos_jni_JNI.h 448B
cc_androidos_jni_JNI.c 254B
hello-jni.c 3KB
proguard.cfg 1KB
mk.sh 26B
android.key 1KB
src
com_example_hellojni_HelloJni.h 747B
com
example
hellojni
HelloJni.class 753B
HelloJni.java 2KB
local.properties 439B
AndroidManifest.xml 695B
libs
armeabi
gdbserver 122KB
lighttpd.so 313KB
gdb.setup 198B
libhello-jni.so 3KB
文档.txt 1KB
HelloJni.rar 559KB
共 73 条
- 1
小贝德罗
- 粉丝: 69
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0