本來通過Eclipse運作到機器上的APK能正常啟動,但通過簽名混淆之後運作就報錯:ERROR: couldn't find native method,應該是proguard把相關的.so檔案優化掉了,可以通過以下方法解決:
第一步: 確定所有的JNI的方法在Java中都有聲明,即使不用的native方法也要聲明.
第二步: 在proguard.cfg中添加-keep class 包名.類名{*;}確定聲明JNI方法的類不做混淆.
例如: -keep class com.bluetooth.com.BTApi{*;}