【发布时间】:2019-09-20 08:52:17
【问题描述】:
我正在创建一个 Java 库绑定项目。目的是创建一个简单的 RFID 扫描应用程序,部署在基于 Android 的 RFID 手持扫描仪上。 我有本地库。有一个.JAR 和几个.SO 文件。 我在 VS2017 中创建了一个 Xamarin Java Binding 项目,并将 .JAR 放在“Jars”文件夹中。我已将 Build Action 设置为 EmbeddedJar。 我为原生库创建了一个单独的文件夹,并在其中放置了带有 Build Action EmbeddedNativeLibrary 的 .SO 文件。 我在构建时收到以下错误:
“CreateNativeLibraryArchive”任务意外失败。 System.IO.FileNotFoundException:找不到文件“C:\src\RfidSDK\RfidSDK\obj\Debug__AndroidNativeLibraries__.zip.new”。 文件名:'C:\src\RfidSDK\RfidSDK\obj\Debug__AndroidNativeLibraries__.zip.new' 在 System.IO.__Error.WinIOError(Int32 错误代码,字符串可能全路径) 在 System.IO.File.InternalCopy(字符串源文件名,字符串 destFileName,布尔覆盖,布尔检查主机) 在 System.IO.File.Copy(字符串源文件名,字符串 destFileName,布尔覆盖) 在 Xamarin.Android.Tools.Files.CopyIfZipChanged(字符串源,字符串目标) 在 Xamarin.Android.Tools.Files.ArchiveZip(字符串目标,Action`1 存档器) 在 Xamarin.Android.Tasks.CreateNativeLibraryArchive.Execute() 在 Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute() 在 Microsoft.Build.BackEnd.TaskBuilder.d__26.MoveNext()
我不确定是什么问题...
非常感谢您的帮助,
试过切换Target框架,没区别。
【问题讨论】:
-
我还在 VS2017 中收到以下警告:本机库 'NativeLibs\libDeviceAPI.so' 将不会被捆绑,因为它具有不受支持的 ABI。
-
试过VS2019?它实际上是最新的 Xamarin.Android 位...
-
试过 VS2019,同样的问题。但是我确实设法解决了它。问题是它使用“路径嗅探”来确定 ABI 版本。我只是创建了一个名为 arm64-v8a 的新文件夹并将 .SO 文件放入其中,然后编译项目。 (或者更确切地说,转移到不相关的其他问题。^^)
-
感谢@RoleyBaxter 我在您的解决方案中添加了一张图片。 :)
标签: c# android .net xamarin binding