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

Android中从主Activity跳转其他Activity失败Intent运行报错如何解决

问题原因
  • 核心触发点是Android系统无法正常访问并实例化你要跳转的Second类,触发IllegalAccessException,常见原因如下:
  • Second类没有用public修饰,系统组件工厂没有权限访问非公开的Activity类
  • Second类仅声明了带参数的构造方法,没有显式提供无参的public构造方法,系统实例化Activity时默认调用无参构造,找不到对应方法就会抛出权限异常
  • 少数情况为混淆配置错误,开启混淆后Second类的访问权限被修改、类名被篡改,导致系统无法找到对应类
解决方法
  • 检查Second类的声明修饰符,确保类为public类型:
public class Second extends AppCompatActivity {
  // 类内部逻辑
}
  • 如果你给Second类写了带参数的构造方法,必须额外补充无参的public构造方法:
public Second() {
  super();
}
  • 检查AndroidManifest.xml中的Activity注册配置,确保android:name属性值和Second类的全类名完全匹配:
<activity
    android:name="com.softltd.application.Second"
    android:exported="false" />
  • 如果项目开启了代码混淆,在混淆规则文件(通常为proguard-rules.pro)中添加保留Activity类的规则,避免类和构造方法被混淆修改:
-keep public class * extends android.app.Activity
-keepclassmembers class * extends android.app.Activity {
   public <init>(...);
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 10:45:04