背景
1、目标设备5.1(荣耀 arm64-v8a)和5.1.1(VIVO armeabi-v7a)。
2、xamarin项目(xamxx)和共享库项目(libxx)放在同一个解决方案中。
3、xamxx项目生成的目标平台选X86,libxx项目平台选ARM。
4、不需要复制libxx.so到xamxx的lib下(复制的方法也可以,比较麻烦),在xamxx中引用libxx项目,调试的时候,libxx.so会自动复制到xamxx的lib/armeabi-v7a/下面。
错误:unused DT entry
错误提示:
dlopen failed: cannot locate symbol “__register_atfork”
或者
unused DT entry: type 0x6fffffff arg 0x1NING
修改方案
1、NDK用r16b 。
2、xamxx目标框架选8.1(试了9.0不行),目标版本27。libxx目标API级别选27。这三个务必要一致才可以。
3、libxx中STL的使用, 实测LLVM libc++ 静态库(c++_static)和LLVM libc++ 共享库 (c++_shared)都可以,如果应用包括多个共享库,应使用 LLVM libc++ 共享库 (c++_shared)。要选择“LLVM libc++ 共享库 (c++_shared)”。