用Android NDK r10e和Android 5.0的API (APP_PLATFORM=21) 编译的APP在Android 5.0之前的机器上运行会crash,Log如下:
原因
在Andriod 5.0之前的版本中,rand等函数是静态内联的,libc.so并没有相应的函数符号,而Android 5.0不是内联的,需要引用libc.so中相应的函数符号,所以在Android 5.0之前的版本中运行时会因为找不到符号而crash。
解决方案
使用Android 4.4的API (APP_PLATFORM=19) 编译APP