问题背景:项目工程中需要引入第三方.so库(暂称为 A.so),并与自己本地的JNI代码一块编译成为一个.so(暂称为 B.so),工程一开始是从配置好的Eclipse工程中导入到Android Studio中的,编译运行都很顺利,后来 A.so 做了更新,于是在AS项目中对其做了替换,问题随之便出现了。
遇到的问题:AS工程中替换了最新的A.so库后,clean工程,编译运行,结果还是之前旧 A.so 的运行结果。后先卸载了APP,再重新Clean,编译,仍然是错误的结果。怀疑是导入的 A.so 库本身有问题,于是在Eclipse的项目工程中替换了该新的 A.so,APP运行结果是正确的、新的结果。后上网查询、请教别人之后得到了解决办法。
解决方法:在 AS 中替换了最新的 A.so后,首先应先菜单栏-->Build-->Refresh Linked C++ Projects,然后再重新clean,编译。这时候得到的才是正确的APK。