我正在尝试使用PayTM安卓库创建一个Xamarin项目。由于PayTM没有直接的Xamarin绑定,我在Xamarin Android Biding库项目中添加了appinvokesdk-1.2.aar。appinvoke的生成操作是"LibraryProjectZip"。现在,appinvoke库在运行时也依赖于easypay-8.7.3-appinvoke.aar(我在检查pom文件中的appinvoke.aar文件后发现了这一点(。我已经将easypay-aar文件的构建操作设置为"EmbdedJar"。我还尝试将其设置为"LibraryProjectZip"、"ReferenceJar"one_answers"EmbeddedReferenceJars"。在运行时,我得到错误作为
Java.Lang.ClassNotFoundException:在路径DexPathList[[zip file"/data/app/com.edmatix.poc.paytmdemo1-WQf3uMctjbNHoAG_ZfsH3A=/base.apk"]上找不到类"easypay.elistener.WebClientListener",nativeLibraryDirectories=[/data/app/com.edmatix.poc.paytmdemo1 WQ…}
这是我的环境详细信息
- Visual Studio for Mac 8.5.4(Build 12(
- AndroidX组件
- Xamarin.Form 4.6.0.726
- Android最低API版本22
- 安卓目标API 28(安卓9(
类easypay.elistener.WebClientListener仅在运行时需要,而在编译时不需要。
你能帮助我们如何正确嵌入依赖关系库吗?
感谢
所以这就是我为解决运行时缺少.aar文件的问题所做的。我将第二个.aar文件(easypay-8.7.3-apinvoke.aar(添加到另一个Xamarin绑定项目中(如这里所示(,并将编译类型设置为LibraryProjectZip。这解决了我在运行时找不到类的问题。
感谢
请尝试在Xamarin Android项目中安装Xamarin.Kotlin.StdLib
。安装Kotlin软件包对我来说很有效,因为我使用的是包含Kotlin代码的.aar
文件。
Install-Package Xamarin.Kotlin.StdLib -Version 1.3.50.1