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

Android Studio中点击登录按钮后应用崩溃问题排查求助

崩溃问题排查与修复

1. Activity类名拼写错误(最直观问题)

你的第二个Activity类名写成了MainActivit2y(拼写失误),虽然当前代码引用一致,但这会引发后续维护隐患,建议统一修正为规范命名MainActivity2,同步修改所有引用处:

  • 修正MainActivity中的跳转代码:
Intent intent=new Intent(getApplicationContext(), MainActivity2.class);
startActivity(intent);
  • 重命名Activity文件为MainActivity2.java,并修改类定义头部:
public class MainActivity2 extends AppCompatActivity {
    // 原有逻辑代码保持不变
}

2. 未在AndroidManifest.xml中注册Activity

跳转未注册的Activity是此类崩溃的核心原因之一,必须在AndroidManifest.xml的<application>标签内添加第二个Activity的注册节点:

<activity
    android:name=".MainActivity2"
    android:exported="false" /> <!-- 内部跳转场景设为false即可,若需外部唤起则设为true -->

如果暂时不想修改类名,需保证android:name值与MainActivit2y完全一致

3. 布局文件或控件ID不匹配

MainActivit2y中调用了setContentView(R.layout.activity_main1);,需确保:

  • res/layout/activity_main1.xml文件真实存在
  • 布局文件内包含@+id/adView和@+id/web_view的对应控件,示例片段:
<com.google.android.gms.ads.AdView
    android:id="@+id/adView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    ads:adSize="BANNER"
    ads:adUnitId="你的广告单元ID" />

<WebView
    android:id="@+id/web_view"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

若控件ID不匹配,findViewById会返回null,调用loadAd()或loadUrl()时会触发空指针异常导致崩溃。

4. 缺失必要权限与依赖配置

  • 网络权限:WebView加载网页、广告加载都需要网络权限,在AndroidManifest.xml的<manifest>标签下添加:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
  • 广告库依赖:确保在Module级别的app/build.gradle中添加Google Ads依赖:
dependencies {
    implementation 'com.google.android.gms:play-services-ads:22.6.0' // 使用最新稳定版本
}
  • 广告应用ID配置:在AndroidManifest.xml的<application>标签内添加:
<meta-data
    android:name="com.google.android.gms.ads.APPLICATION_ID"
    android:value="你的AdMob应用ID" />

5. 空指针异常防护

为避免控件查找失败引发崩溃,建议在使用控件前增加空判断,同时注意使用你自定义的mywebClient而非默认WebViewClient:

mAdView = findViewById(R.id.adView);
if (mAdView != null) {
    AdRequest adRequest= new AdRequest.Builder().build();
    mAdView.loadAd(adRequest);
}

webView=(WebView) findViewById(R.id.web_view);
if (webView != null) {
    webView.setWebViewClient(new mywebClient()); // 使用自定义的网页客户端
    webView.loadUrl("https://sites.google.com/view/cls2rlibraryybis/home");
    WebSettings webSettings=webView.getSettings();
    webSettings.setJavaScriptEnabled(true);
}

6. 签名APK额外检查

若签名包仍崩溃,需确认:

  • 签名证书已添加至AdMob后台(使用广告功能时),否则广告加载失败可能引发异常
  • 混淆规则配置:开启混淆时,需在proguard-rules.pro中添加:
-keep class com.google.android.gms.ads.** { *; }
-keep class android.webkit.** { *; }

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 04:52:17