You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Xamarin.Android自定义Application子类导致应用崩溃求助

解决Xamarin Android自定义Application子类导致应用崩溃的问题

刚上手Xamarin遇到这种启动崩溃的问题很常见,我帮你分析下大概率的问题根源,以及对应的解决步骤:

问题1:自定义Application类的访问修饰符不对

你的代码里MyCustomApplicationClass默认是internal访问级别,但Android运行时需要通过反射实例化这个类,internal的话系统根本找不到它,直接就会触发崩溃。

问题2:未在AndroidManifest中明确指定自定义Application类

即使你加了[Application]特性,有时候Xamarin的自动配置可能出现偏差,导致系统仍尝试使用默认的Application类,和你的自定义类产生冲突。


修正后的完整代码

先把类的访问修饰符改成public,确保系统能访问到:

[Application]
public class MyCustomApplicationClass : Application 
{
    public MyCustomApplicationClass (IntPtr handle, JniHandleOwnership ownerShip) : base (handle, ownerShip) { }
    public override void OnCreate () 
    {
        base.OnCreate();
        // 在这里添加你的自定义初始化逻辑
    }
}

配置AndroidManifest.xml

接下来需要明确告诉Android系统使用你的自定义Application类:

  1. 打开项目中的Properties/AndroidManifest.xml文件
  2. 找到<application>标签,添加android:name属性,值为你的类的完整命名空间+类名。比如你的类在MyAwesomeApp.Droid命名空间下,就写成:
<application android:name="MyAwesomeApp.Droid.MyCustomApplicationClass" ...其他属性...>
    <!-- 其他配置项 -->
</application>

额外注意点

  • 如果是Xamarin.Forms项目,别在Android项目和Forms项目中重复定义Application类
  • 清理并重新生成项目,有时候缓存会导致配置不生效

按照上面的步骤修改后,应该就能解决崩溃问题了。

内容的提问来源于stack exchange,提问作者Aditi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 06:59:38