我最近将ADT升级到版本22。 在我这样做之后,我首先收到了我的支持库的错误(这是依赖于另一个库项目)。 在将支持库复制到我的项目并清理了所有项目后,当我尝试启动应用程序时,我一直收到以下错误:
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.d.d/com.d.d.MainActivity}: java.lang.ClassNotFoundException: com.d.d.MainActivity
(我已将真实的包名重命名为com.d.d)
但让我怀疑它是支持库更改的原因的是以下几行:
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)
这让我很怀疑,因为当我之前搞过支持库时,我收到了很多与dex有关的错误。
毋庸置疑,AndroidManifest包含活动的正确路径。
这里将非常感谢任何帮助。 非常感谢。
答案 0 :(得分:83)
可能是this的副本。
尝试转到项目 - >属性 - > Java构建路径 - >订单&导出并确保 Android私有库会检查您的项目以及您正在使用的所有其他库项目。清理所有项目 然后看看会发生什么。
答案 1 :(得分:6)
@Krauxe非常感谢你提供这个答案!
但是,我必须在Eclipse中使用稍微调整的方法( Version:3.7.2 )。
答案 2 :(得分:1)
在这里,我们必须将src文件夹添加为源文件夹。由于某种原因,绑定消失了。
答案 3 :(得分:0)
我遇到了同样的问题。解决方案是将输出文件夹更改为bin / classes。
问候, 马丁
答案 4 :(得分:0)
如果您已尝试所有答案仍然遇到问题,那么活动名称可能与AndroidManifest.xml中的软件包名称不匹配。 例如你的xml就像这样。
<activity
android:name="com.tony.HomeActivity"
android:screenOrientation="portrait" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
但HomeActivity实际上在com.tony.ui.HomeActivity包中。