4

我正在尝试在 Eclipse 的真实设备上运行我的应用程序。添加actionbarsherlock作为参考后,我无法摆脱这个错误:Could not find actionbarsherlock.apk。这是完整的控制台输出:

[2013-05-24 16:10:14 - MyApp] ------------------------------
[2013-05-24 16:10:14 - MyApp] Android Launch!
[2013-05-24 16:10:14 - MyApp] adb is running normally.
[2013-05-24 16:10:14 - MyApp] Performing com.myapp.activities.StopSelection activity launch
[2013-05-24 16:11:26 - MyApp] Uploading MyApp.apk onto device '0A3AA80D1402500E'
[2013-05-24 16:11:26 - MyApp] Installing MyApp.apk...
[2013-05-24 16:11:33 - MyApp] Success!
[2013-05-24 16:11:34 - actionbarsherlock] Could not find actionbarsherlock.apk!
[2013-05-24 16:11:34 - MyApp] Starting activity com.myApp.activities.StopSelection on device 0A3AA80D1402500E
[2013-05-24 16:11:35 - Tahanot] ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.tahanot/.activities.StopSelection }

活动并没有真正开始,并且 LogCat 中出现错误:

FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.myApp/com.myApp.activities.StopSelection}: java.lang.ClassNotFoundException: com.myApp.activities.StopSelection in loader dalvik.system.PathClassLoader[/data/app/com.myApp-2.apk]
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1618)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1716)
    at android.app.ActivityThread.access$1500(ActivityThread.java:124)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:968)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:130)
    at android.app.ActivityThread.main(ActivityThread.java:3806)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:507)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
    at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: com.myApp.activities.StopSelection in loader dalvik.system.PathClassLoader[/data/app/com.myApp-2.apk]
    at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:240)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:551)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
    at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1610)
    ... 11 more

这里的答案都没有帮助:android launch from eclipse not working normal without error message

4

3 回答 3

14

如果您没有从库项目中导出Build Path -> Android Private Libraries ,则可能会发生这种情况。这是您必须从 ADTv22 及更高版本开始执行的新操作。

同样从您的控制台输出中,我看到该应用程序正在尝试为库上传 apk。如果您没有在 android 中正确添加库,则可能会发生这种情况。所以这里有几个快速的步骤:

  1. 确保您的 ABS 库项目被标记为库。属性 -> Android -> 勾选“是库”
  2. 确保对于 ABS lib 项目,在Build Path -> Order and Export中选中了 Android Private Libraries 。仅 ADTv22 及更高版本需要此步骤。
  3. 在您的项目中,将 ABS lib 项目作为库添加到Properties -> Android -> Add Library。不要自己将 ABS lib 项目添加为构建路径中的项目依赖项,ADT 会根据需要解决这些问题,否则它通常会引发如上所示的错误。

希望这对您有所帮助。

于 2013-05-24T14:08:40.427 回答
2

我认为问题在于您将不正确的库项目添加到您的 android 应用程序项目中。

您必须将 Sherlock 库添加到您的项目中,如下所示:

Properties -> Android in library 部分您现在可以添加 Sherlock 库

希望这可以帮助..

于 2013-05-24T13:54:44.107 回答
0
  1. Properties从宿主项目的→<code>Java Build Path→<code>Projects (tab) 中删除 actionbar sherlock 项目文件夹,然后

  2. 确保在我自己的项目的同一位置进行了Android Private Libraries检查,该项目使用操作栏 sherlock 作为库项目 - 它可以工作。Order and Export

于 2015-10-16T07:18:18.113 回答