本来通过Eclipse运行到机器上的APK能正常启动,但通过签名混淆之后运行就报错:ERROR: couldn't find native method,应该是proguard把相关的.so文件优化掉了,可以通过以下方法解决:
第一步: 确保所有的JNI的方法在Java中都有声明,即使不用的native方法也要声明.
第二步: 在proguard.cfg中添加-keep class 包名.类名{*;}确保声明JNI方法的类不做混淆.
例如: -keep class com.bluetooth.com.BTApi{*;}