https://blog.youkuaiyun.com/ahence/article/details/68953878
这篇文章比较把该问题的原因以及解决办法讲得非常清楚了。但是当初因为自身知识不够,看完还是懵懵懂懂不知道如何解决(自身理解也有问题)。后来初步学了NDK之后,就大概能明白问题了。现在就来用自己的心得记录一下解决办法。
-
修改targetSdkVersion < 23 来逃避问题。降低版本本来就会遇到很多问题,而且这不是推荐的方法。在没有.c源文件的时候只能这样做
-
有.c源文件的情况下才能用。 修改Android.mk , 增LOCAL_LDFLAGS += -fPIC
然后!!!!!!!一定要!!!!用NDK重新把.c文件编译为.so文件!!!!!!!!!用NDK重新把.c文件编译为.so文件!!!!!!!!!用NDK重新把.c文件编译为.so文件!!!!!!!!!开头的文章没强度这点,直说修改.mk就行,在不了解NDK的我,修改后就直接运行app,发现还是老样子。
不懂NDK的小伙可以参考https://blog.youkuaiyun.com/chen793991833/article/details/105839816
系统会判断你的【targetSdkVersion】是否小于【android版本】,如果小于的话,那就按照【targetSdkVersion】的api方法,否者用【android版本】 。。。。就是取最小值