eclipse下的NDK开发,请教 本帖最后由 lulu23260 于 2014-09-01 19:42:47 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 首先,android调用ndk时,通过javah生成的h文件对包名,方法名也是有限制的,只有相同包名,方法名的方法才能够调用他。所以你得将你使用jni的类的包名改成同他的demo的包名,至于出现红叉的原因,现在我也不太清楚,你可以看看你的error列表,或者clean一下呢 看下problems里有没有显示error的原因,你之前运行stopped的时候看下console有没有什么信息。楼上说的正确,jni对调用者的包名类名有规定的。 在lib下建armeabi 并导入不应该是在libs目录下么? 包名一样的呢,详情:本来文件 在模拟器上可以运行后,新增jni文件夹,放置helloJNI 例子中的mk文件和C文件,将c文件改为编译生成.so,libs下的armeabi下出现该文件,新建Java类,修改原src下Java文件:运行APK,模拟器提示stooped,错误信息:求指导,哪里有问题啊! 在哪儿都不行,why?ps:这么喜感的头像 你真确定包名一样,你的实际类是JNI,而你的头文件的方法名中的类名是MainActivity,,,,,,肯定没有办法进行访问啊 用静态方法试试,你的jni应该不是这样初始化的 测试发现,即使我不调用那个本地化了的函数,只要有 System.loadLibrary("hello-jni"); 这句,就运行不了!!郁闷! 昨天来了帮助的一个GG,adb 调试发现 提示的错误是什么 .so是无效的 ELF格式的文件,没解决,不明白怎么回事,也搞不了,偶然从他本子上重新拷了一个 eclipse 和SDK,也把so文件改成了下划线的名字,,OK啦!! 你相信吗?反正是真的!!自己查找错误,原来的eclipse上即使我把文件名和库名做同样的处理,还是不行,只要有loadLibrary ,程序就stopped!我表示很不解,原来的eclipse和ADT都是前几天从android.developer上下载的,应该没什么问题的。找到原因,来此通知。 从ndk / sample/ hello-jni里去看例子吧..就不会犯final Jni jni = new Jni()这种错误了 求大神解决音问题频 cocos2d-x Box2d 问题 求一些 android 视频对话开发的思路 最好能详细点 求新浪微博oauth2.0能用的登录代码 android UI问题 Android客户端向新浪发送微博 Android客户端用socket与服务器通信,为什么能发不能收啊? android能否做成服务器端 问一个关于软键盘的问题~~ 手机屏幕适配遇到虚拟键的问题 关于listview清空的问题 谁有android4.4自带Camera应用的源代码?
楼上说的正确,jni对调用者的包名类名有规定的。
不应该是在libs目录下么?
包名一样的呢,详情:本来文件
在模拟器上可以运行后,新增jni文件夹,放置helloJNI 例子中的mk文件和C文件,将c文件改为
编译生成.so,libs下的armeabi下出现该文件,
新建Java类,修改原src下Java文件:
运行APK,模拟器提示stooped,错误信息:
求指导,哪里有问题啊!
在哪儿都不行,why?ps:这么喜感的头像
郁闷!
昨天来了帮助的一个GG,adb 调试发现 提示的错误是什么 .so是无效的 ELF格式的文件,没解决,不明白怎么回事,也搞不了,
偶然从他本子上重新拷了一个 eclipse 和SDK,也把so文件改成了下划线的名字,,OK啦!! 你相信吗?反正是真的!!自己查找错误,原来的eclipse上即使我把文件名和库名做同样的处理,还是不行,只要有loadLibrary ,程序就stopped!我表示很不解,原来的eclipse和ADT都是前几天从android.developer上下载的,应该没什么问题的。找到原因,来此通知。
就不会犯final Jni jni = new Jni()这种错误了