新手,请大神帮忙解决一个jni调用问题.

zhangchao012 2013-02-04 08:55:32
我刚学android开发. 原来是做c.c++的.现在项目想用jni来调用c原来的代码.

我碰到的问题是.
我在java里面写了如下的代码.
public class Protocol_type {

public class Proctocol_Type_Base {
public int fromType;
public int operationId;
}

public class Protocol_MsgNormal extends Proctocol_Type_Base {
int normalMsgType;
String fromAddr;
String content;
}
}

jni里面写的是
public class readData {

static {
System.loadLibrary("readjni");
}
public native Proctocol_Type_Base Protocol_parseFromString(String telNo, String contentBuf);
}


在cpp里面是这样调用的.
static JNINativeMethod const gMethods[] =
{
{ "Protocol_parseFromString"," (Ljava/lang/String;Ljava/lang/String;)Lcom/example/data/Protocol_type/Proctocol_Type_Base;",(void*) java_Proctocol_from_CCP }
};

编译没有问题.
但是一运行.平台会打印出,找不到本地方法.
请大家帮你看看.

其实我想的就是返回一个内部类.但是不知道为什么老是说找不到本地方法,
...全文
308 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangchao012 2013-02-05
  • 打赏
  • 举报
回复
结贴.搞定了
zhangchao012 2013-02-04
  • 打赏
  • 举报
回复

这个就是那个出错的提示
不知名的悲伤 2013-02-04
  • 打赏
  • 举报
回复
教你--JNI,是java
不知名的悲伤 2013-02-04
  • 打赏
  • 举报
回复
public class readData { static { System.loadLibrary("readjni"); } public native Proctocol_Type_Base Protocol_parseFromString(String telNo, String contentBuf); } 不是教你,你完全没看懂。 #include <string.h> #include <jni.h> jstring Java_mobile_jni_MyJniActivity_sayHelloWorld( JNIEnv* env,jobject thiz ) { return (*env)->NewStringUTF(env, "Hello World"); } 才是。我这里没有c代码,直接在jni里用了“Hello World”,也可以写个。add(),add(3,5)填充。

80,347

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧