73

我设法很好地重组了我的应用程序,以便除了派生的 Activity 类中的一些方法之外,所有内容都在库项目中。

它运行良好,除了 Eclipse 的控制台(不是LogCat!)发出以下错误消息:

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

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

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

我该如何摆脱它?

更新:我尝试删除该项目,然后按照以下建议重新导入它。它没有帮助。然后我发现这个线程帮助我意识到我<uses-library>在应用程序的 AndroidManifest.xml 中引用了 MyLibrary。我删除它,清理项目并重建。问题仍然存在。

我现在怀疑这是“真正的问题”,例如某些路径的错误配置或我的其他事情。会是什么呢?

4

7 回答 7

162

我找到了问题的根源!

事实证明,“使用新的库功能,您无需在 Properties 的 Java Build Path 部分中指定您依赖的 Android 项目。您可以在 Properties 的 Android 部分中执行此操作”。

所以我所要做的就是进入应用程序项目Properties,点击Projects选项卡,选择我自己的库项目并单击Remove按钮。就是这样。没有更多的问题。

在 Eclipse Java EE 中选择项目 Properties,然后选择Project References,然后检查 FacebookSDK(参见屏幕截图)在此处输入图像描述

感谢兰斯·纳内克

于 2011-06-14T15:45:36.110 回答
4

这很有趣......我并没有完全按照答案指定的方式去做......

我有一个名为“ ConnectionHandler ”的单独的 android 项目,它连接到 web 服务以检索信息。该项目不包含活动类。(如果是这样,您需要更改主应用程序中的 AndroidManifest 文件,并按照以下说明进行操作)。

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

  1. 在 Main Application > 选择项目属性 > 转到 Java Build Path > Add Jars > 选择 ConnectionHandler 的 bin 文件夹 > 选择 connectionhandler.jar
  2. 在 ConnectionHandler 项目中 > 选择项目属性 > Android > 检查 isLibrary
  3. 在 MainApplication > 选择项目属性 > 转到 Android > 在库部分中添加对 ConnectionHandler 的引用。

这对有用,并且我能够连接到我的 web 服务,即使我的主应用程序中没有源文件可以执行此操作。一切都包含在我被引用的 ConnectionHandler jar 中。

希望这可以帮助某人...

于 2012-09-21T14:52:34.727 回答
2

今天我开始在 Eclipse 的控制台视图上收到此错误消息,但事实证明这不是问题所在。我的应用程序将在我的设备上构建和安装,甚至运行不到一秒钟(直到它崩溃)。这是我的控制台视图在 Eclipse 上的样子:

[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。

于 2013-06-03T15:48:51.297 回答
1

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

于 2011-06-14T00:21:26.993 回答
0

使用 Eclipse Preferences,您最终可以在各处添加库。我在 /libs 和 Referenced Libraries 文件夹中有一个引用的库。我必须从这些位置删除或删除它们并将其插入 Android 依赖项(使用 Preferences -> Android 并在“Is Library”复选框下方浏览。)

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

于 2012-07-08T19:05:11.073 回答
0

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

于 2013-12-04T18:15:17.197 回答
0

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

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

于 2015-01-19T17:36:52.083 回答