一堆so文件安装不正确:
apk里面都是全的, 但是安装完后/data/data/$pkg/lib下面就没有
google了好长时间没有结果.最后发现是因为没库有加lib前缀(当时想了一下觉得不加更好,更合胃口)....现在加上lib前缀OK了.
怀疑package manager在安装apk的时候把所有没有lib prefix的so给忽略了这种剧情设定太坑爹了.不使用官方mk真是吃尽苦头啊.
ndk上坑太多:
dlopen()还不支持RTLD_NODELETE,又得黑代码了.
apk源的/libs下还不能有子文件夹, plugins也要重新放, 据说android的dlopen不检查也不加载依赖库, 可能要手动按顺序加载依赖... StackOverflow或者google groups上有类似方法, 用java层或者另外一个(空的辅助)NativeActivity先启动,手动加载所有的库.
bionic 的libc各种阉割, 到时候别再遇到个没有实现的函数.
目前除了渲染库以外, 全部移植完了(不过除了渲染别的没东西要移植,声音模块还没有不需要移植, 除了基础的IO已经做完了).
后面花点时间总结一下移植的事项.