Android app运行时找不到activity的情况之一:应用程序包名不统一

情况是这样的:

做例子时新建一个Android应用,创建时应用包名为“auctionclient”(应用包名可以在Manifest.xml文件的package="包名"内看到),创建成功后发现类的路径时“action.client.util”,于是在src下创建了“action.client.util”这个包,并写了Login.java这个activity和login.xml布局文件,同时在Manifest.xml文件注册了程序入口为“Login”,测试程序时,运行时出现“source not found”,跟踪查看发现是activity没找到。

     这个错误首先想到就是activity注册时路径不对,查看Manifest.xml,当时注册时只写了类名,没有加包名,于是改为

“action.client.util.Login”,运行同样出错。查询资料知道这里需要完整的相对路径才行,是不是还要加上应用包名,马上加上“auctionclient.action.client.util.Login”,出错。到底哪里不对,于是找个原来正确的程序对照看了注册路径发现我的程序中,Manifest.xml中包名为“auctionclient”,而Login.java的包名是“action.client.util”,这是表示两者根本不在一个包下,于是修改Manifest.xml中包名为“action.client”,activity注册路径为“action.client.util.Login”,运行,终于成功。

    通过这个发现,在开发手动创建包时如果对包的层次不清楚的话,很容易造成包名不一致的情况,所以要注意。这个例子也让我开始留意包名,之前都不知道他们之间的关系。

    当然这个问题应该可以在两者不在一个包的情况下也能运行,这个问题先留着。。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值