Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android上的共享库位置_Android_Android Studio_Xamarin_Xamarin.android_Gstreamer - Fatal编程技术网

Android上的共享库位置

Android上的共享库位置,android,android-studio,xamarin,xamarin.android,gstreamer,Android,Android Studio,Xamarin,Xamarin.android,Gstreamer,[这是一个常见的安卓问题,不要查看Gstreamer关键字] 我试图通过Xamarin.Android(在Visual Studio中)在Android上使用Gstreamer,因此我在Ubuntu上构建了编译的libtutorial-5.so和libgstreamer\u Android.so库,并将它们作为AndroidNativeLibrary添加到Xamarin.Android项目中。当我尝试使用libgstreamer\u android.so使用DllImport时,一切正常,但当我

[这是一个常见的安卓问题,不要查看Gstreamer关键字]

我试图通过Xamarin.Android(在
Visual Studio
中)在Android上使用Gstreamer,因此我在Ubuntu上构建了编译的
libtutorial-5.so
libgstreamer\u Android.so
库,并将它们作为
AndroidNativeLibrary
添加到Xamarin.Android项目中。当我尝试使用
libgstreamer\u android.so
使用
DllImport
时,一切正常,但当我尝试使用
libtutorial-5.so
(当然使用
DllImport
)时,我得到:

DllImport无法加载库的dlopen失败:无法加载“libtutorial-5.so”所需的库“build/obj/local/armeabi-v7a/libgstreamer_android.so”;由库“build/obj/local/armeabi-v7a/libgstreamer_android.so”导致“未找到”

出现此错误是因为
libtutorial-5.so
依赖于
libgstreamer\u android.so
libtutorial-5.so
尝试在
build/obj/local/armeabi-v7a/libgstreamer\u android.so
位置中查找
libgstreamer\u android.so

当然,这两个库都位于
lib/armeabi-v7a
目录下,即使我替换了所有的两个库,或者只是
libgstreamer\u android。所以我想我有两个选择:

  • 如何替换real
    build/obj/local/armeabi-v7a
    目录中的库(因为如果在
    解决方案资源管理器中使用此位置,则仍然存在此问题)

  • 我如何更改我的第一个库所依赖的库的路径,该库将位于
    Android Studio
    中,或者仅位于
    .mk
    文件中(在
    .so
    构建阶段)
为什么不将所有必需的库添加到项目中,并将它们标记为AndroidNativeLibrary?它会小心地把它们放在自己的位置上place@Gusman陛下这很奇怪,但我写道我将它们(两个库:哪个依赖,哪个依赖)作为AndroidNativeLibrary的.Whops添加到Xamarin.Android项目中。对不起,我没有读到。。。嗯,你确定他们是正确的abi吗?很奇怪XAndroid没有把它们放在正确的位置上…@Gusman我想是的,因为我可以自主地使用这两个库(以及彼此),但只有当第一个库依赖于Android Studio项目中奇怪位置的第二个库(
build/obj/local/armeabi-v7a
)时,才会发生这个错误,但在Xamarin.Android项目中没有。gstreamer,以android示例为例,在vs上复制它,你需要创建一个本机c库(示例也这样做)作为我链接的帖子,然后复制代码(它将是复制/粘贴,它是纯c),并将Java代码添加为c#代码,肯定会有一些失败,您需要配置VS以使用SDK,但这是可行的。为什么不将所有必需的库添加到项目中,并将它们标记为AndroidNativeLibrary?它会小心地把它们放在自己的位置上place@Gusman陛下这很奇怪,但我写道我将它们(两个库:哪个依赖,哪个依赖)作为AndroidNativeLibrary的.Whops添加到Xamarin.Android项目中。对不起,我没有读到。。。嗯,你确定他们是正确的abi吗?很奇怪XAndroid没有把它们放在正确的位置上…@Gusman我想是的,因为我可以自主地使用这两个库(以及彼此),但只有当第一个库依赖于Android Studio项目中奇怪位置的第二个库(
build/obj/local/armeabi-v7a
)时,才会发生这个错误,但在Xamarin.Android项目中没有。gstreamer,以android示例为例,在vs上复制它,你需要创建一个本机c库(示例也这样做)作为我链接的帖子,然后复制代码(它将是复制/粘贴,它是纯c),并将Java代码添加为c#代码,肯定会有一些失败,您需要配置VS以使用SDK,但这是可行的。