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

Maui项目无法实例化Activity ComponentInfo问题求助

解决MAUI应用Google Play上架时MainActivity找不到的问题

针对你遇到的Java.Lang.RuntimeException: Unable to instantiate activity及ClassNotFoundException问题,以下是具体解决步骤:

1. 移除AndroidManifest中手动添加的Activity节点

MAUI会根据MainActivity上的[Activity]特性自动生成Manifest中的Activity配置,手动添加会导致路径冲突或重复定义。修改后的AndroidManifest.xml如下:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="TCRM_Service" android:versionCode="1" android:versionName="1.0">
    <application android:allowBackup="true" android:icon="@mipmap/appicon" android:label="TCRM_Service">
    </application>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.CAMERA" />
</manifest>

2. 确认包名与Activity特性配置

  • 检查MAUI项目属性中的Android包名:打开项目Properties -> Android Manifest,确保Package name为TCRM_Service,与MainActivity的命名空间一致。
  • 你的MainActivity代码已正确配置[Activity]特性,无需额外修改,但需确保MainLauncher = true已设置(这会让MAUI自动处理android:exported="true"属性)。

3. 清理重建项目

执行以下操作彻底清理并重建项目,避免缓存问题:

  • 右键项目选择Clean
  • 删除项目根目录下的bin和obj文件夹
  • 右键项目选择Rebuild
  • 重新生成发布包

4. 启用Multidex(若需要)

如果应用方法数超过65536,需启用Multidex。在MAUI项目的.csproj文件中添加以下配置:

<PropertyGroup>
    <AndroidEnableMultiDex>true</AndroidEnableMultiDex>
</PropertyGroup>

5. 避免R8/Proguard误删MainActivity

若发布时启用了代码收缩(R8/Proguard),需确保MainActivity不被混淆删除。在Platforms/Android/proguard.cfg中添加规则:

-keep class TCRM_Service.MainActivity { *; }

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 08:20:13