jni层新加了一个方法后运行出错couldn't find native method

由于需要为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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值