Unity DllImport 因 .so 库而失败
Unity DllImport fails with .so libraries
我正在使用 Unity 5.3.4p1 和 Tizen SDK 2.4.0Rev5。
我正在尝试开发一个非常简单的本机插件,仔细遵循 the Unity guide,一切似乎都很好。
我得到了我的共享对象库(.so 文件,以 "lib" 开头),将它放在 Assets/Plugins/Tizen/libs
中,构建它,安装到设备上,一切似乎都很好。
然后,我玩我的构建并...
I/Unity (18506): Couldn't open /opt/usr/apps/com.myStubCompany.testTizen/lib/libtizennative.so, error: /opt/usr/apps/com.myStubCompany.testTizen/lib/libtizennative.so: cannot open shared object file: No such file or directory
I/Unity (18506): DllNotFoundException: /opt/usr/apps/com.myStubCompany.testTizen/lib/libtizennative.so
好的,我会查看路径并找出问题所在:
/opt/usr/apps/com.myStubCompany.testTizen/lib/libtizennative.so
好的,那我看看那个文件夹里有没有正确的lib...
有。然而,错误。 (所有其他库都是尝试每个 "with lib" "without lib" "with .so" ... 组合的可怜尝试)。
请...帮助。
我自己找到了解决方案:
主要问题是 Tizen 通常在 ARM 设备上运行,仍然 Tizen IDE 默认为 x86 编译。
我将其切换回 Arm,一切正常。
我正在使用 Unity 5.3.4p1 和 Tizen SDK 2.4.0Rev5。 我正在尝试开发一个非常简单的本机插件,仔细遵循 the Unity guide,一切似乎都很好。
我得到了我的共享对象库(.so 文件,以 "lib" 开头),将它放在 Assets/Plugins/Tizen/libs
中,构建它,安装到设备上,一切似乎都很好。
然后,我玩我的构建并...
I/Unity (18506): Couldn't open /opt/usr/apps/com.myStubCompany.testTizen/lib/libtizennative.so, error: /opt/usr/apps/com.myStubCompany.testTizen/lib/libtizennative.so: cannot open shared object file: No such file or directory
I/Unity (18506): DllNotFoundException: /opt/usr/apps/com.myStubCompany.testTizen/lib/libtizennative.so
好的,我会查看路径并找出问题所在:
/opt/usr/apps/com.myStubCompany.testTizen/lib/libtizennative.so
好的,那我看看那个文件夹里有没有正确的lib...
有。然而,错误。 (所有其他库都是尝试每个 "with lib" "without lib" "with .so" ... 组合的可怜尝试)。
请...帮助。
我自己找到了解决方案:
主要问题是 Tizen 通常在 ARM 设备上运行,仍然 Tizen IDE 默认为 x86 编译。
我将其切换回 Arm,一切正常。