在我最近从Eclipse迁移到Android Studio的项目中,我正在调查可怕的“ ClassNotFoundException:未在路径上找到类:DexPathList ”的实例(请参阅此类型的讨论)问题在于:Android ClassNotFoundException: Didn't find class on path)我将其跟踪到我的AndroidManifest.xml文件的格式。
即,我有一个完全限定的包名,但活动名称被指定为。 。 。
<activity android:name="MyActivity" ...
......什么时候想要的是......
<activity android:name=".MyActivity" ...
...注意活动名称前面的“点”。但是我的Eclipse项目中的AndroidManifest.xml文件都没有这个点,它们构建并运行正常。我的Eclipse项目和Android Studio项目之间的另一个区别是,对于后者,应用程序被加载到具有较新版操作系统的设备上--Lollipop vs Kitkat(尽管发货版本并非严格要求)。
所以我的问题是,这种格式是带有操作系统新功能的点,还是与Android Studio相关的要求,还是什么?它一直在那里,但Eclipse没有抓住它吗?到目前为止,我如何摆脱这种局面?
答案 0 :(得分:1)
我将其追溯到AndroidManifest.xml文件的格式
你认为你做到了。
我有一个完全合格的包名,但活动名称被指定为......但我想要的是......
具有相同含义:活动的完全限定类名包括清单中package
属性中标识的包名称。
是这种格式,点是OS的新功能
没有
或者是与Android Studio相关的要求
没有。对于初学者来说,这不是必需的。如果你通过the several hundred projects in my book推杆,你会发现带点和无点声明(以及有时候是完全限定的包名)。
它一直存在吗
对于2008年份的Android版本,我的记忆模糊不清。两种方法都支持了5年以上。
到目前为止,我如何摆脱这种局面?
因为这两种方法都有效。