首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Android:无法实例化应用程序

Android:无法实例化应用程序
EN

Stack Overflow用户
提问于 2011-05-02 23:50:01
回答 9查看 41.5K关注 0票数 21

我重命名了我的包,现在我得到了这个奇怪的错误:

代码语言:javascript
复制
Unable to instantiate application
app.MyApplication: java.lang.ClassNotFoundException: 
app.MyApplication in loaderdalvik.system.PathClassLoader

MyApplication类是用Application/app编写的。清单上写着:

代码语言:javascript
复制
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools"
  package="Application">
代码语言:javascript
复制
<application 
    android:label="AGG"
    android:name="app.MyApplication"...

我尝试重新启动,干净的构建。Is不能在模拟器上工作,也不能在真实设备上工作。

这到底是怎么回事?

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2011-05-03 00:14:31

让我们假设,正如您在manifest中所述,您的项目基包实际上是Application

如果您的MyApplication类在这个包中(该类的包声明是package Application;),那么androidManifest.xml中的application元素应该如下所示

代码语言:javascript
复制
<application android:name=".MyApplication" [...]

如果这个MyApplication类在Application.app包(package Application.app;)中,那么您应该在清单中这样写:

代码语言:javascript
复制
<application android:name=".app.MyApplication" [...]

如果您没有扩展android.app.Application (您没有MyApplication extends android.app.Application类),只是想为您的应用程序设置一个名称,删除它的这个属性,因为它告诉编译器有一个应该实例化的Application扩展,而不是默认的android.app.Application

最后,如果第一个假设是错误的,并且您出于任何原因更改了androidManifest的manifest元素中的包声明,则撤消它或更新您的类以使其位于该包中。

票数 27
EN

Stack Overflow用户

发布于 2017-01-27 23:15:59

对我来说,问题在于即时运行。禁用它解决了问题。

如果我找到重新启用并使其工作的解决方案,我将更新。

票数 9
EN

Stack Overflow用户

发布于 2012-05-08 00:26:52

这个答案对我很有帮助,如果你正在使用SDK 17+ https://stackoverflow.com/a/10176048/46459,基本上就是把你的lib重命名为libs。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5859261

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档