Xamarin 使用 CallRedirectionService 引发 Java.Lang.ClassNotFoundException
Posted
技术标签:
【中文标题】Xamarin 使用 CallRedirectionService 引发 Java.Lang.ClassNotFoundException【英文标题】:Xamarin throws Java.Lang.ClassNotFoundException using CallRedirectionService 【发布时间】:2021-12-13 12:06:15 【问题描述】:我使用此示例的空白模板创建了一个新的移动应用 Xamarin.Forms 项目。我正在尝试在我的应用中使用 CallRedirectionService,但会引发以下异常。
Java.Lang.ClassNotFoundException: crc64bf934172c93e128d.MyCallService ---> Java.Lang.NoClassDefFoundError: 解析失败: Landroid/telecom/CallRedirectionService; ---> Java.Lang.ClassNotFoundException:在路径上找不到类“android.telecom.CallRedirectionService”:DexPathList[[zip 文件“/data/app/com.companyname.xam-8bL_MB0IWItrj3Z69Zwvtw==/base.apk” ],nativeLibraryDirectories=[/data/app/com.companyname.xam-8bL_MB0IWItrj3Z69Zwvtw==/lib/x86, /data/app/com.companyname.xam-8bL_MB0IWItrj3Z69Zwvtw==/base.apk!/lib/x86, /system /lib]]
using Android.Telecom;
using Xamarin.Forms;
namespace xam
public class MyCallService : CallRedirectionService
public override void OnPlaceCall(Android.Net.Uri handle, PhoneAccountHandle initialPhoneAccount, bool allowInteractiveResponse)
//throw new NotImplementedException();
public partial class MainPage : ContentPage
public MainPage()
var callCervice = new MyCallService();
InitializeComponent();
我该如何解决它,因为其他服务不会抛出任何异常
例如
public class CallPreventer : InCallService
public override void OnCallAdded(Call call)
call.Disconnect();
base.OnCallAdded(call);
Android options
Exception
【问题讨论】:
这可能被链接器剥离了?您在 Android 项目属性 -> Android 选项下的链接器设置是什么?您是否使用任何代码收缩器等? 所有属性和选项都是默认的,没有使用shrinker 我刚刚注意到您的屏幕截图 - 看起来您在 MainPage.cs 代码中添加了 Android 特定的代码,这大概是在您的共享项目中?如果你想使用 Android 特定的东西,它应该在你的 Android 项目中。要从后面的 MainPage 代码调用它,请使用 Xamarin Forms Dependency Service (docs.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/…) 【参考方案1】:从屏幕截图看来,这段代码是 .NET 标准程序集(共享项目)的一部分,它不会引用 Mono Android。相反,请尝试使用Xamarin Forms Dependency Service 从共享代码中调用您想要的特定于平台的东西。见my recreation of your code here。
【讨论】:
以上是关于Xamarin 使用 CallRedirectionService 引发 Java.Lang.ClassNotFoundException的主要内容,如果未能解决你的问题,请参考以下文章
Xamarin挖墙脚系列:使用Xamarin进行Hybrid应用开发
无法使用 Xamarin.Android 中的 Xamarin.Mobile 组件保存联系人
如果调用方未使用 Xamarin.Forms,Xamarin 依赖项服务能否正常工作?
使用Xamarin Effect删除Xamarin.iOS中TextEntry上的圆角