Android cannot locate symbol rand referenced by so

用Android NDK r10e和Android 5.0的API (APP_PLATFORM=21) 编译的APP在Android 5.0之前的机器上运行会crash,Log如下:

android-cannot-locate-symbol-rand-referenced-by-so

 原因

在Andriod 5.0之前的版本中,rand等函数是静态内联的,libc.so并没有相应的函数符号,而Android 5.0不是内联的,需要引用libc.so中相应的函数符号,所以在Android 5.0之前的版本中运行时会因为找不到符号而crash。

解决方案

使用Android 4.4的API (APP_PLATFORM=19) 编译APP

猜你喜欢

转载自blog.csdn.net/u010693827/article/details/78955713