由于需要为java提供一个新的接口,就在原来的基础上添加了一个新方法,但是运行的时候出现了一下错误:
E/dalvikvm( 3408): ERROR: couldn't find native method
E/dalvikvm( 3408): Requested: Lcom/example/CanDemo/CanService;.Jni_Can_on:()I
起初认为是语法上的错误,对照几次后,实在觉得没错,网上搜索终于找到。原因是被produard优化掉了。(ps: 我也不清楚produard混淆器是什么东东,感觉就是跟volatile类似,详见如下链接)修改内容如下:
在 $(ANDROID)/framework/services/jni/ 的Android.mk中添加LOCAL_PROGUARD_ENABLED := disabled
为了保险,我在app的Android.mk中也加入了如上语句: 在$(ANDROID)/packeges/experimental/CanDemo/ 的Android.mk中添加LOCAL_PROGUARD_ENABLED := disabled (ps:纯属懒惰,懒得验证不加行不行了:) )。
编译完后放到板子运行,通过!
参考博客:
http://blog.csdn.net/wuxy_shenzhen/article/details/11484319
http://www.tuicool.com/articles/uUFrMj