You need to enable JavaScript to run this app. Android Studio运行计分器App到手机报Runtime Exception异常求解决
优惠活动
大模型
产品
解决方案
定价
更多

Android Studio运行计分器App到手机报Runtime Exception异常求解决

问题原因

报错核心原因是你项目中的MainActivity继承了AppCompatActivity,AppCompat体系要求关联的主题必须是Theme.AppCompat或其子类主题,否则启动Activity就会抛出该运行时异常。你的布局和Java业务逻辑代码无逻辑错误,无需修改。

修复步骤

1. 修改主题配置

找到项目res/values/目录下的themes.xml(旧版本Android Studio对应styles.xml)文件,确保应用主题的父类为AppCompat系列主题,示例配置如下:

<!-- 父主题可根据需求选择,只要属于AppCompat的子类即可,比如以下几个都是合法的:
- Theme.AppCompat.Light
- Theme.AppCompat.Light.NoActionBar
- Theme.MaterialComponents.DayNight.DarkActionBar(Material主题也是AppCompat的子类)
-->
<style name="Theme.CourtCounter" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="colorPrimary">@color/purple_500</item>
    <item name="colorPrimaryVariant">@color/purple_700</item>
    <item name="colorOnPrimary">@color/white</item>
</style>

2. 检查清单文件配置

打开AndroidManifest.xml,确认application标签或MainActivity的标签下android:theme属性引用了上述正确的AppCompat主题:

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    <!-- 此处theme属性值要和你第一步定义的主题名一致 -->
    android:theme="@style/Theme.CourtCounter">
    <activity
        android:name=".MainActivity"
        android:exported="true">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

可选替代方案

如果不需要使用AppCompat的特性,也可以直接修改MainActivity的父类,将:

public class MainActivity extends AppCompatActivity

修改为:

public class MainActivity extends Activity

该方案无需修改主题即可运行,但不推荐使用,会丢失部分AndroidX兼容特性。

修改完成后重新编译运行项目即可正常启动App。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.08 11:39:02