`

运行Android项目,报错java.lang.IllegalAccessException: access to constructor not allowe

阅读更多

修改了AndroidManifest.xml,设置<application>的属性android:name="自定义的Aplication",结果运行Android项目,报下面错误:

08-18 02:27:41.660: D/dalvikvm(649): newInstance failed: Lcom/foxhis/untils/ActivityApplication;.<init>() not accessible to Landroid/app/Instrumentation;
08-18 02:27:41.660: D/AndroidRuntime(649): Shutting down VM
08-18 02:27:41.660: W/dalvikvm(649): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
08-18 02:27:41.680: E/AndroidRuntime(649): FATAL EXCEPTION: main
08-18 02:27:41.680: E/AndroidRuntime(649): java.lang.RuntimeException: Unable to instantiate application com.foxhis.untils.ActivityApplication: java.lang.IllegalAccessException: access to constructor not allowed
08-18 02:27:41.680: E/AndroidRuntime(649): 	at android.app.ActivityThread$PackageInfo.makeApplication(ActivityThread.java:649)
08-18 02:27:41.680: E/AndroidRuntime(649): 	at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4232)
08-18 02:27:41.680: E/AndroidRuntime(649): 	at android.app.ActivityThread.access$3000(ActivityThread.java:125)
08-18 02:27:41.680: E/AndroidRuntime(649): 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2071)
08-18 02:27:41.680: E/AndroidRuntime(649): 	at android.os.Handler.dispatchMessage(Handler.java:99)
08-18 02:27:41.680: E/AndroidRuntime(649): 	at android.os.Looper.loop(Looper.java:123)
08-18 02:27:41.680: E/AndroidRuntime(649): 	at android.app.ActivityThread.main(ActivityThread.java:4627)
08-18 02:27:41.680: E/AndroidRuntime(649): 	at java.lang.reflect.Method.invokeNative(Native Method)
08-18 02:27:41.680: E/AndroidRuntime(649): 	at java.lang.reflect.Method.invoke(Method.java:521)
08-18 02:27:41.680: E/AndroidRuntime(649): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
08-18 02:27:41.680: E/AndroidRuntime(649): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
08-18 02:27:41.680: E/AndroidRuntime(649): 	at dalvik.system.NativeStart.main(Native Method)
08-18 02:27:41.680: E/AndroidRuntime(649): Caused by: java.lang.IllegalAccessException: access to constructor not allowed
08-18 02:27:41.680: E/AndroidRuntime(649): 	at java.lang.Class.newInstanceImpl(Native Method)
08-18 02:27:41.680: E/AndroidRuntime(649): 	at java.lang.Class.newInstance(Class.java:1429)
08-18 02:27:41.680: E/AndroidRuntime(649): 	at android.app.Instrumentation.newApplication(Instrumentation.java:957)
08-18 02:27:41.680: E/AndroidRuntime(649): 	at android.app.Instrumentation.newApplication(Instrumentation.java:942)
08-18 02:27:41.680: E/AndroidRuntime(649): 	at android.app.ActivityThread$PackageInfo.makeApplication(ActivityThread.java:644)
08-18 02:27:41.680: E/AndroidRuntime(649): 	... 11 more

错误提示是,构造方法的权限不对,招拒。

 

检查了整个Application,才发现,原来有一个无参数的构造方法,被设计成private。

修改其为public即可。

 

其他:

      对于自定义的Application,如果里面定义的参数是,只仅仅该类中使用,则可以定义为private,私有属性。 如果是其他地方也使用,必须定义为public。 类中方法,全部定义为public。

 

 

 

 

分享到:
评论

相关推荐

    SPRING API 2.0.CHM

    All Classes AbstractAdvisorAutoProxyCreator AbstractApplicationContext AbstractApplicationEventMulticaster AbstractAspectJAdvice AbstractAspectJAdvisorFactory AbstractAspectJAdvisorFactory....

    java编程常见问题

    49.java.lang.IllegalAccessException 违法的访问异常。当应用试图通过反射方式创建某个类的实例、访问该类属性、调用该类方法,而当时又无法访问类的、属性的、方法的或构造方法的定义时抛出该异常。

    fat-aar-android:gradle插件将依赖项合并到最终的aar文件中,可与AGP 3. +一起使用。

    胖子安卓合并aar的解决方案适用于 3.0及更高版本。... 用法类似于implementation ,如下所示: dependencies { implementation fileTree( dir : ' libs ' , include : ' *.jar ' ) // java dependency embed project( '

    Java源码非法访问异常IllegalArgumentException

    Java源码非法访问异常IllegalArgumentException

    使用Quartz出现同包下的文件无法访问的异常

    异常简明信息: See nested exception: java.lang.IllegalAccessException: class org.quartz.simpl.SimpleJobFactory (in module quartz) cannot access class com.soe.others.HelloJob (in module Thread_study05)...

    文件加密解密算法(Java源码)

    import java.lang.reflect.Constructor; import java.security.spec.KeySpec; import java.lang.reflect.InvocationTargetException; public class EncryptData { private String keyfile=null; public ...

    java解析Properties配置文件为对象Bean

    if(typeName.equals("java.lang.String")) { field.set(obj, value); }else if(typeName.equals("int")) { field.setInt(obj, Integer.parseInt(value)); }else if(typeName.equals("float"))...

    linux jnative 调用.so方法及附属全部库和源码

    public static void main(String[] args) throws NativeException, IllegalAccessException{ //纯c写到动态库 JNative clib = new JNative("libtest.so", "test_a"); //调用libtest.so下到test_a函数 clib....

    Java 反射(Reflection) 经典实用例子

    Java提供了一套机制来动态执行方法和构造方法,以及数组操作等,这套机制就叫——反射。反射机制是如今很多流行框架的实现基础,其中包括Spring、Hibernate等。原理性的问题不是本文的重点,接下来让我们在实例中...

    eclipse安卓开发必备工具

    } } } 也是如我所想 抛出java.lang.IllegalAccessException异常,当时就怀疑Spring框架是否使用反射的一些特性,后来查了相关文档才知 道原因何在: 实际上java在反射创建一个类的实例时,默认会检测是否符合相关...

    myeclipse连接mysql驱动程序和包

    public Connection getConnection() throws InstantiationException, IllegalAccessException, ClassNotFoundException, SQLException{ String url="jdbc:mysql://localhost:3306/aaa"; String username="root"; ...

    java万能DAO

    import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql....

    java面试题

    Java 软件工程师面试资料大整合 1 Java 面霸 1 1. int 和 Integer 有什么区别? 8 2. String 和StringBuffer的区别 8 3. 运行时异常与一般异常有何异同? 8 4. 说出ArrayList,Vector,LinkedList的存储性能和特性 8 5...

    客户关系管理系统框架搭建(二)

    crm项目的架构 * 创建web工程 * 引入jar包 * mysql的驱动包 * hibernate需要的jar包 * spring需要的jar包 * struts2需要的jar包 * jstl 需要的jar包 * junit需要的jar包 * 包的介绍 * ...

    jdk-7-window-64

    try-with-resources,之前使用的很多IO操作都需要手动去关闭流,现在使用这种方式,只要是实现了java.lang.AutoCloseable和java.io.Closeable的类就不需要再手动关闭了。 例子:try(OutputStream out=new ...

    正则表达式测试工具

    } catch (IllegalAccessException e) { e.printStackTrace(); } catch (UnsupportedLookAndFeelException e) { e.printStackTrace(); } this.setSize(600, 400); this.setLocation(350, 100);...

    Android渠道打包工具packer-ng-plugin.zip

    packer-ng-plugin 是下一代Android渠道打包工具Gradle插件,支持极速打包,1000个渠道包只需要5秒钟,速度是 gradle-packer-plugin 的1000倍以上,可方便的用于CI系统集成,支持自定义输出目录和最终APK文件名,依赖...

    java图形界面美化包 nimrodlf-1.0b

    该报用于美化java界面,载入包后加入如下代码: try { UIManager.setLookAndFeel("org.jvnet.substance.skin.SubstanceFieldOfWheatLookAndFeel"); } catch (ClassNotFoundException e) { // TODO 自动生成的 ...

    excel的jdbc驱动

    这是一个JAVA的jdbc驱动包,可以帮助你想操作数据库一样快速操作excel 示例代码: public static void main(String[] vars){ String driver = "com.hxtt.sql.excel.ExcelDriver"; String url = "jdbc:excel:///C:\...

Global site tag (gtag.js) - Google Analytics