事情的背景是这样的,我们常常要作基于C/C++的图像处理开发,然后递交SDK,包含在指定平台下编译出来的库so和相关文档,上层根据文档和so,集成到设备上,或者做成apk.
假设平台是android arm平台,常常会遇到这种问题,可能是debug,或者是算法的优化,我们需要更新算法,通常的步骤是编译.so,打包apk,安装在手机上,测试,再迭代这个过程。在调试设备上的 bug的时候,这个过程会变得尤为繁琐。
想想看,其实我apk层的东西不要动,只要更新so就好了。那么有2个办法简化这个过程:
1. push so到设备上,如果设备是root过,且有该算法的调用testbed,以下是命令:
adb remount
adb shell su -c setenforce 0
adb push libXXX.so system/lib
adb reboot
2. push so到指定的路径下,然后设置apk层,访问该路径下的so.