Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.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 如何在Xamarin项目中有效地添加dependency.aar文件?_Android_Xamarin_Xamarin.android_Aar_Paytm - Fatal编程技术网

Android 如何在Xamarin项目中有效地添加dependency.aar文件?

Android 如何在Xamarin项目中有效地添加dependency.aar文件?,android,xamarin,xamarin.android,aar,paytm,Android,Xamarin,Xamarin.android,Aar,Paytm,我正在尝试使用PayTM android库创建一个Xamarin项目。由于PayTM没有直接的Xamarin绑定,我在Xamarin Android Biding library项目中添加了appinvokesdk-1.2.aar。appinvoke的构建操作是“LibraryProjectZip”。现在appinvoke库对easypay-8.7.3-appinvoke.aar也有运行时依赖关系(我在检查pom文件中的appinvoke.aar文件后发现了这一点)。我已经将easypay aa

我正在尝试使用PayTM android库创建一个Xamarin项目。由于PayTM没有直接的Xamarin绑定,我在Xamarin Android Biding library项目中添加了appinvokesdk-1.2.aar。appinvoke的构建操作是“LibraryProjectZip”。现在appinvoke库对easypay-8.7.3-appinvoke.aar也有运行时依赖关系(我在检查pom文件中的appinvoke.aar文件后发现了这一点)。我已经将easypay aar文件的构建操作设置为“EmbdedJar”。我还尝试将其设置为“LibraryProjectZip”、“ReferenceJar”和“EmbeddedReferenceJar”。在运行期间,我得到的错误如下

Java.Lang.ClassNotFoundException:在路径:DexPathList[[zip文件”/data/app/com.edmatix.poc.paytmdemo1-WQf3uMctjbNHoAG_ZfsH3A==/base.apk]上未找到类“easypay.listeners.WebClientListener”,NativeLibraryDirectory=[/data/app/com.edmatix.poc.paytmdemo1 WQ…]

这是我的环境细节

  • Visual Studio for Mac 8.5.4(构建12)
  • AndroidX组件
  • Xamarin.表格4.6.0.726
  • Android最低API版本22
  • Android目标API 28(Android 9)
类easypay.listeners.WebClient Listener仅在运行时需要,在编译时不需要

您能帮助我们正确嵌入依赖项库吗


感谢

所以这就是我在运行时解决缺少.aar文件的问题所做的。我将第二个.aar文件(easypay-8.7.3-appinvoke.aar)添加到另一个Xamarin绑定项目中(如中所示),并将编译类型设置为LibraryProjectZip。这解决了我在运行时找不到类的问题


谢谢

请尝试在您的Xamarin Android项目中安装
Xamarin.Kotlin.StdLib
。安装Kotlin软件包对我很有效,因为我使用的是包含Kotlin代码的
.aar
文件

Install-Package Xamarin.Kotlin.StdLib -Version 1.3.50.1

你已经启用了multi-dex支持吗?我不知道如何启用。你能指导我吗?这取决于你使用的是Mac还是Windows,但打开android项目设置并启用multi-dex。嗨@Saamer,我的应用程序使用的API最低版本为21。那么你认为我还需要multi-dex吗?@Saamer,我正在查看此链接。首先当然要清楚。我没有收到任何编译时错误。同样基于我共享的链接,似乎Xamarin团队已经启用了一些支持,因此我们不需要多索引。虽然我仍然会启用多索引,并在找到appinvokesdk-1.2.aar的绑定后检查它,但我发现了新项目上easypay-8.7.3-appinvoke.aar绑定的问题ct.你对Metadata.xml做过任何更改吗?不,不是真的。事实上,对我来说,问题是依赖关系太多。因此,我通过直接api调用转移到PayTM集成。请查看以下链接中基于api的应用程序调用过程