JAVA+jni 包名或方法名中含有下划线(_)的解决方法
来源:互联网 发布:淘宝网黑盘羊沉香好吗 编辑:程序博客网 时间:2024/04/18 10:16
原文 http://zhigang.net/2013/08/underline-in-jni.html
jni或NDK定义C函数是用下划线(_)作为命名分隔。但如果JAVA包名或方法名里包含了_ 那么就会发生找不到函数的错误,对此网上的各教程都说不要使用 _,对于新项目,这种情况当然很容易避免,但若对一原有项目开发jni接口就麻烦了,特别是在 Android 平台下,包名决定着应用的唯一识别,轻易改不的。
经过不懈的努力,我终于找到了解决方法,简单来说就是在 _ 后加1,如:
// JAVApackage net.zhigang.ndk_test;public class NdkTest{ static { System.loadLibrary(ndktest); } public native void sayHello();}//C\#include <jni.h>jstring Java_net_zhigang_ndk_1test(JNIEnv* env, jobject thiz){ return env->NewStringUTF("Hello from jni");}
#define NATIVE_CALL(type, name) JNIEXPORT type Java_xxx_## name
0 0
- JAVA+jni 包名或方法名中含有下划线(_)的解决方法
- Java 错误:找不到或无法加载主类(源文件中含有包名 package)
- Java语言中,包名、类名、接口名、方法名、变量名,以及常量名的命名有何规范的命名习惯
- Java语言中,包名、类名、接口名、方法名、变量名,以及常量名的命名有何规范的命名习惯
- java的类名、文件名、包名
- Eclipse中修改包名或类名
- Java或APK包名正则表达式
- Applet 类路径问题(含有包名的时候)
- android studio无法识别含有rcs包名的jar
- 函数名、变量前后的_(一个下划线)、__(两个下划线)分别有什么用
- 函数名、变量前后的_(一个下划线)、__(两个下划线)分别有什么用
- 函数名、变量前后的_(一个下划线)、__(两个下划线)分别有什么用
- 函数名、变量前后的_(一个下划线)、__(两个下划线)分别有什么用
- 变量名前的下划线
- java.lang.UnsatisfiedLinkError: 包名.方法名([BLjava
- 在Android Studio中 修改APP包名的方法
- Android 中获取Apk的包名和类名的实现方法
- java中自定义的类名不能与java包里面的类名一样
- Swift - 元组的用法
- OFBiz安装注意事项:不要启动Tomcat
- shared_ptr
- 【转自网上,分享更多人看到】创建符号链接 “asm”: 不支持的操作
- Android decode
- JAVA+jni 包名或方法名中含有下划线(_)的解决方法
- 删除分区表students子分区sex_male中年龄大于30岁的记录
- cocos2dx2.2 mac下创建工程命令
- hdu 5493 Queue(线段树)
- Do use segment tree 树链剖分,按顺序剖分
- 欢迎使用CSDN-markdown编辑器
- 1004. Counting Leaves (30)
- 微博剩余字数输入统计
- ocp-50