非一般的原因:Unable instantiate application xxx.MyApplication: java.lang.ClassNotFoundException

安卓项目的清单文件中设置
android:installLocation=“preferExternal”
preferExternal:将程序安装在外部存储介质上,但是系统不保证程序一定会被安装到外部存储介质上.当外部存储介质不可以或空时,程序将被安装到内存中。
android:sharedUserId="android.uid.system"是系统的权限因为项目中要设置自动开关机,必须有这样的权限。

这两个都配置的时候,项目运行就出问题了, 一直报找不到application类,并且安装的应用是机器人图标,名字也是包名。找了很久的问题才发现,这两个设置冲突了,自已猜测可能的原因是,加了"android.uid.system"后,系统会认为此应用是系统的应用,会在内部存储去找,但是因为"preferExternal"的安装的位置在外部存储介质上,导致找不到,去掉上面的安装位置的设置就解决问题了。

你可能感兴趣的:(Android)