Android报java.lang.IllegalAccessException: access to class not allowed错误

本文解析了Android应用启动过程中出现的典型错误日志,探讨了Activity未注册、包名不匹配及类非公开等问题的原因,并提供了相应的解决思路。

06-27 04:48:02.123: ERROR/AndroidRuntime(787): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{net.android.surfacetest/net.android.surfacetest.MainActivity}: java.lang.IllegalAccessException: access to class not allowed
06-27 04:48:02.123: ERROR/AndroidRuntime(787):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1569)
06-27 04:48:02.123: ERROR/AndroidRuntime(787):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
06-27 04:48:02.123: ERROR/AndroidRuntime(787):     at android.app.ActivityThread.access$1500(ActivityThread.java:117)
06-27 04:48:02.123: ERROR/AndroidRuntime(787):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
06-27 04:48:02.123: ERROR/AndroidRuntime(787):     at android.os.Handler.dispatchMessage(Handler.java:99)
06-27 04:48:02.123: ERROR/AndroidRuntime(787):     at android.os.Looper.loop(Looper.java:123)
06-27 04:48:02.123: ERROR/AndroidRuntime(787):     at android.app.ActivityThread.main(ActivityThread.java:3683)
06-27 04:48:02.123: ERROR/AndroidRuntime(787):     at java.lang.reflect.Method.invokeNative(Native Method)
06-27 04:48:02.123: ERROR/AndroidRuntime(787):     at java.lang.reflect.Method.invoke(Method.java:507)
06-27 04:48:02.123: ERROR/AndroidRuntime(787):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
06-27 04:48:02.123: ERROR/AndroidRuntime(787):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
06-27 04:48:02.123: ERROR/AndroidRuntime(787):     at dalvik.system.NativeStart.main(Native Method)
06-27 04:48:02.123: ERROR/AndroidRuntime(787): Caused by: java.lang.IllegalAccessException: access to class not allowed
06-27 04:48:02.123: ERROR/AndroidRuntime(787):     at java.lang.Class.newInstanceImpl(Native Method)
06-27 04:48:02.123: ERROR/AndroidRuntime(787):     at java.lang.Class.newInstance(Class.java:1409)
06-27 04:48:02.123: ERROR/AndroidRuntime(787):     at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
06-27 04:48:02.123: ERROR/AndroidRuntime(787):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1561)

Android出现以上是错误日志信息

原因1:Activity没有注册

原因2:包名不匹配

原因3:类不是public的,在报错类的定义前加public即可。

其中原因1和3是最常见的

java.lang.Throwable : ├── java.lang.Error : 错误 │ ├── java.lang.VirtualMachineError : │ │ ├── java.lang.OutOfMemoryError : │ │ ├── java.lang.StackOverflowError : │ │ ├── java.lang.UnknownError : │ │ └── ... │ ├── java.lang.LinkageError : │ │ ├── java.lang.ClassFormatError : │ │ ├── java.lang.NoClassDefFoundError : │ │ ├── java.lang.UnsupportedClassVersionError : │ │ └── ... │ ├── java.lang.ThreadDeath : │ ├── java.lang.ExceptionInInitializerError : │ └── ... │ └── java.lang.Exception : 异常 ├── java.lang.RuntimeException : 运行时异常 │ ├── java.lang.ArithmeticException : 算数异常 │ ├── java.lang.ArrayStoreException : │ ├── java.lang.ClassCastException : │ ├── java.lang.IllegalArgumentException : │ │ ├── java.lang.NumberFormatException : │ │ └── ... │ ├── java.lang.IndexOutOfBoundsException : │ │ ├── java.lang.ArrayIndexOutOfBoundsException : │ │ └── java.lang.StringIndexOutOfBoundsException : │ ├── java.lang.NullPointerException : │ ├── java.lang.SecurityException : │ └── ... │ ├── java.io.IOException : │ ├── java.io.FileNotFoundException : │ ├── java.io.InterruptedIOException : │ └── ... │ ├── java.lang.ClassNotFoundException : ├── java.lang.CloneNotSupportedException : ├── java.lang.IllegalAccessException : ├── java.lang.InstantiationException : ├── java.lang.NoSuchFieldException : ├── java.lang.NoSuchMethodException : ├── java.sql.SQLException : └── 自定义异常(如:MyException)分别都是什么异常
最新发布
08-26
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值