在 Xamarin 解决方案
中,我有:
项目 1:
Android
应用程序项目(应用程序)。 我有一个旧的Android
应用程序,使用三个.so
,构建为AndroidNativeLibrary
。这很有效,并且找到了.so
。我想用它做一个图书馆。因此,我创建了一个新的Library
项目。现在,在我的解决方案中,我有第二个项目:项目 2:一个
Library
项目,其中.so
构建为EmbeddedNativeLibrary
。 这是行不通的。DLL
不包含.so
,也不会将.so
复制到引用它的 Android 应用程序项目中。 (我不知道在构建过程中将它们放入应用程序的/lib
文件夹中的通常过程是什么)因此 .so 库无处可去,Dalvik
没有找到它。我知道如果我直接将它们放入应用程序项目中就会起作用,但这是一个丑陋的解决方案。
在我看来,从名称来看,EmbeddedNativeLibrary
应该对我的情况有所帮助。但没有任何效果。
如何将我的 .so
文件嵌入 .DLL
Library
或自动复制到应用程序 /lib
目录?
[编辑]
我之前应该已经验证过,但是这些库确实包含在 APK 中。只是在运行应用程序时找不到它们。就像丢失或错误引用的库一样。也许需要一个额外的步骤才能使它们可见?
[Mono] DllImport attempting to load: 'libffmpeg.so'.
[Mono] DllImport error loading library '/storage/sdcard0/Android/data/com.pure.ffmpeg/
files/.__override__/libffmpeg.so': 'Cannot load library:
load_library[1093]: Library '/data/data/com.pure.ffmpeg/lib//storage/sdcard0/Android/
data/com.pure.ffmpeg/files/.__override__/libffmpeg.so' not found'.
[Mono] DllImport error loading library
'/storage/sdcard0/Android/data/com.pure.ffmpeg/files/.__override__/libffmpeg.so':
'Cannot load library: load_library[1093]: Library '/data/data/com.pure.ffmpeg/
lib//storage/sdcard0/Android/data/com.pure.ffmpeg/files/.__override__/libffmpeg.so'
not found'.
[Mono] DllImport error loading library 'libffmpeg.so':
'Cannot load library:
load_library[1093]: Library '/data/data/com.pure.ffmpeg/lib/libffmpeg.so' not found'.
[Mono] DllImport error loading library 'libffmpeg.so': 'Cannot
load library: load_library[1093]: Library '/data/data/com.pure.ffmpeg/lib/libffmpeg.so' not found'.
[Mono] DllImport error loading library 'libffmpeg.so': 'Cannot
load library: load_library[1093]: Library '/data/data/com.pure.ffmpeg/lib/libffmpeg.so' not found'.
[Mono] DllImport unable to load library 'Cannot load library: load_library[1093]:
Library '/data/data/com.pure.ffmpeg/lib/libffmpeg.so' not found'.
最佳答案
在您的 Android Build -> Advanced 选项卡下,您是为armeabi 构建还是为armeabi-v7a 构建?看来您将库放在了armeabi 文件夹中。
关于xamarin - 有什么方法可以使用EmbeddedNativeLibrary吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30700644/