我正在使用我从其他人导入的Android项目。我已将所有依赖项排序,项目中没有错误,但是当我尝试启动它时,我得到:
04-08 16:49:41.761: E/AndroidRuntime(19254): FATAL EXCEPTION: main
04-08 16:49:41.761: E/AndroidRuntime(19254): java.lang.RuntimeException: Unable to
instantiate activity ComponentInfo{com.me.app/com.me.app.ui.ActivityDashboard}:
java.lang.ClassNotFoundException: Didn't find class
"com.me.app.ui.ActivityDashboard"
on path: /data/app/com.me.app-1.apk
我的宣言:
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@android:style/Theme.Light.NoTitleBar">
<activity
android:name=".ui.ActivityDashboard"
android:label="@string/app_name"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
...
</application>
这似乎是一个常见的问题,我已经阅读了我发现并完成以下所有其他问题,但都无济于事:
答案 0 :(得分:4)
并且库位于Java Build Path
中
这是不正确的。请退出此更改,然后将JAR移动到项目的libs/
目录中。
虽然手动向构建路径添加JAR将在编译时满足编译器,但它不会在运行时将JAR的内容添加到APK文件,从而导致ClassNotFoundException
等。
请注意,我指的是第三方JAR,例如the first four entries in your screenshot。这些似乎都不在libs/
中,而且都需要。{/ p>
全JAR必须进入libs/
规则的唯一例外是:
Android自己的平台JAR,通过选择构建目标附加到您的项目(原因:此JAR的内容特别不需要包含在您的APK中)
Android库项目,它们有自己的libs/
目录,供他们引用的任何第三方JAR
您的核心错误是找不到com.me.app.ui.ActivityDashboard
,表明这是来自libs/
以外的四个JAR之一。