找不到 Library. apk!

我设法很好地重构了我的应用程序,以便除了派生的 Activity 类中的一些方法之外,所有东西都在 Library Project 中。

它工作得很好,除了 Eclipse 的 Console (没有 LogCat!)发出以下错误消息:

[2011-06-13 19:54:08 - MyLibrary] Could not find MyLibrary.apk!

我清理了两个项目(库 还有应用程序) ,重新启动了 Eclipse,重新构建了项目,但是这个奇怪的错误消息仍然存在。

这个错误消息是什么意思? (特别是在一切似乎运行正常的情况下)

我怎么才能摆脱它?

UPDATE : 我尝试删除项目,然后根据下面的建议重新导入它。没用的。然后我找到了 这根线,它帮助我意识到我在应用程序的 AndroidManifest.xml 中引用了 MyLibrary。我删除了它,清理了项目,重建了。问题依然存在。

我现在怀疑这是一个“真正的问题”,例如某些路径配置错误,或者是我自己的问题。会是什么呢?

41895 次浏览

是否尝试删除项目而不从硬盘中删除并重新导入项目。当我遇到这个问题的时候,这似乎对我有用。

我找到问题的根源了!

原来“ 使用新的库特性,您不需要在 Properties 的 JavaBuildPath 部分中指定所依赖的 Android 项目。您可以在属性的 Android 部分中进行操作”。

所以我要做的就是去应用程序项目的 Properties,点击 Projects选项卡,选择我自己的库项目,然后点击 Remove按钮。就是这样。没问题了。

在 EclipseJavaEE 中选择项目 Properties,然后选择 Project References,然后检查 FacebookSDK (参见屏幕截图)enter image description here

感谢 Lance Nanek

使用 Eclipse 首选项,您最终可以在任何地方添加库。我在/libs 和 References Library 文件夹中有一个引用的 lib。我必须从这些位置删除它们,并将它们插入到 Android Dependency (使用 Preferences-> Android,并在“ Is Library”复选框下面进行浏览)

我项目的正确布局: Http://www.pasteall.org/pic/show.php?id=34513

有意思的是... 我没有完全按照答案所说的去做。

我有一个单独的安卓项目称为“ ConnectionHandler”,它连接到一个网络服务检索信息。此项目不包含活动类。(如果是这样,您需要修改您的主应用程序中的 AndroidManifest 文件,并遵循下面的说明)。

要使用单独的 ConnectionHandler 项目作为库,我需要执行以下操作:

  1. 在 Main Application > Select project properties > Go to Java Build Path > Add Jars > Select the bin file of ConnectionHandler > Select ConnectionHandler.jar 中
  2. 在 ConnectionHandler 项目 > Select project properties > Android > Check isLibrary 中
  3. 在 MainApplication > Select project properties > Go to Android > Add reference to ConnectionHandler 中的 Library 部分。

This works for , and I am able to connect to my webservice, even though I have no source files to do this in my main application. Everything is contained within my ConnectionHandler jar that is being referenced..

希望这能帮到别人。

今天,我开始在 Eclipse 的 Console 视图中得到这个错误消息,但是结果证明这不是问题所在。我的应用程序将被构建并安装在我的设备上,甚至运行一小段时间(直到崩溃)。下面是我在 Eclipse 上的 Console 视图:

[2013-06-03 09:42:25 - my-android] Android Launch!
[2013-06-03 09:42:25 - my-android] adb is running normally.
[2013-06-03 09:42:25 - my-android] Performing com.my.android.activity.MainActivity activity launch
[2013-06-03 09:42:25 - my-android] Uploading my-android.apk onto device '650rfs2e'
[2013-06-03 09:42:31 - my-android] Installing my-android.apk...
[2013-06-03 09:42:35 - my-android] Success!
[2013-06-03 09:42:36 - my-other-android] Could not find my-other-android.apk!
[2013-06-03 09:42:36 - android-SherlockFragment] Could not find android-SherlockFragment.apk!
[2013-06-03 09:42:36 - my-android] Starting activity com.my.android.activity.MainActivity on device 650rfs2e
[2013-06-03 09:42:36 - my-android] ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.my.android/.activity.MainActivity }

但是在仔细检查我的 LogCat 时,从我试图初始化的片段中抛出了一个愚蠢的异常。一旦我修复了我的片段(它引发了一个 NPE) ,一切都很好,即使通过我的控制台仍然告诉我它找不到那些库 APK。

对我来说,发生这种情况的原因是库项目和主项目具有相同的包。更改包的最简单方法是使用 right click on the library project > Android Tools > Rename Application Package

对我来说,解决这个问题的方法是从库项目的 Manifest 文件中删除错误的条目。

只有在我的库项目第一次使用时才会发生崩溃。一旦我更改 ApplicationName 属性以反映 用过库项目的项目的正确应用程序类,那么它就工作了