修改了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。
相关推荐
All Classes AbstractAdvisorAutoProxyCreator AbstractApplicationContext AbstractApplicationEventMulticaster AbstractAspectJAdvice AbstractAspectJAdvisorFactory AbstractAspectJAdvisorFactory....
49.java.lang.IllegalAccessException 违法的访问异常。当应用试图通过反射方式创建某个类的实例、访问该类属性、调用该类方法,而当时又无法访问类的、属性的、方法的或构造方法的定义时抛出该异常。
胖子安卓合并aar的解决方案适用于 3.0及更高版本。... 用法类似于implementation ,如下所示: dependencies { implementation fileTree( dir : ' libs ' , include : ' *.jar ' ) // java dependency embed project( '
Java源码非法访问异常IllegalArgumentException
异常简明信息: 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)...
import java.lang.reflect.Constructor; import java.security.spec.KeySpec; import java.lang.reflect.InvocationTargetException; public class EncryptData { private String keyfile=null; public ...
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"))...
public static void main(String[] args) throws NativeException, IllegalAccessException{ //纯c写到动态库 JNative clib = new JNative("libtest.so", "test_a"); //调用libtest.so下到test_a函数 clib....
Java提供了一套机制来动态执行方法和构造方法,以及数组操作等,这套机制就叫——反射。反射机制是如今很多流行框架的实现基础,其中包括Spring、Hibernate等。原理性的问题不是本文的重点,接下来让我们在实例中...
} } } 也是如我所想 抛出java.lang.IllegalAccessException异常,当时就怀疑Spring框架是否使用反射的一些特性,后来查了相关文档才知 道原因何在: 实际上java在反射创建一个类的实例时,默认会检测是否符合相关...
public Connection getConnection() throws InstantiationException, IllegalAccessException, ClassNotFoundException, SQLException{ String url="jdbc:mysql://localhost:3306/aaa"; String username="root"; ...
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 软件工程师面试资料大整合 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包 * 包的介绍 * ...
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);...
packer-ng-plugin 是下一代Android渠道打包工具Gradle插件,支持极速打包,1000个渠道包只需要5秒钟,速度是 gradle-packer-plugin 的1000倍以上,可方便的用于CI系统集成,支持自定义输出目录和最终APK文件名,依赖...
该报用于美化java界面,载入包后加入如下代码: try { UIManager.setLookAndFeel("org.jvnet.substance.skin.SubstanceFieldOfWheatLookAndFeel"); } catch (ClassNotFoundException e) { // TODO 自动生成的 ...
这是一个JAVA的jdbc驱动包,可以帮助你想操作数据库一样快速操作excel 示例代码: public static void main(String[] vars){ String driver = "com.hxtt.sql.excel.ExcelDriver"; String url = "jdbc:excel:///C:\...