当我在仿真器上运行android ndk应用程序时无法加载libOpenSLES.so
我正在尝试在ubuntu 11.04上的仿真器上编译和运行vlc android应用程序。当我在仿真器上运行android ndk应用程序时无法加载libOpenSLES.so
我得到它编译和链接。但是,当我在模拟器上运行应用程序时,出现以下'usr/lib/libOpenSLES.so not found'错误。
我检查了我的libOpenSLES.so在我的ubuntu环境的正确路径。那为什么说它找不到它?
E/LibVLC ( 443): Can't load vlcjni library: java.lang.UnsatisfiedLinkError: Cannot load library: link_image[1962]: 33 could not load needed library '/home/michael/Programs/android-ndk/platforms/android-9/arch-arm/usr/lib/libOpenSLES.so' for 'libvlcjni.so' (load_library[1104]: Library '/home/michael/Programs/android-ndk/platforms/android-9/arch-arm/usr/lib/libOpenSLES.so' not found)
我看起来像应用程序已与您的开发机器上的完整路径libOpenSLES链接。当你在仿真器上运行时,你希望它将OpenSLES库解析到仿真器上的正确位置,而不是你的开发机器。
工具链应该已经被设置为解析正确的库路径,您应该能够链接到“-lOpenSLES”,它将在构建时解析到您的NDK目录,并且在模拟器/设备上的正确位置运行。