安卓Eclipse - 找不到*.apk文件

207

我知道这个问题之前已经被问过了,我见过很多解决方案,但似乎没有一种适用于我。我之前可以顺利地构建我的apk,直到出现了这个错误。我已经尝试了清理项目、从工作区中移除并重新导入它、将“Java Builder”从我的项目构建器中移除、手动构建项目、重新排列我的Java构建路径等方法。我在编译器中没有看到任何问题,在我的工作区中也不存在任何问题。

我之前遇到过这个问题,并且曾经通过将项目从我的工作区中移除并重新导入它来解决它,还有一次是通过将“Java Builder”从我的Java构建路径中移除来解决的。但这次似乎都不起作用。目前大多数设置都已恢复为默认值(即Java构建已重新选中)。

我使用Windows 7(64位),通过Eclipse 3.6使用jdk1.6.0_21。

如果您有任何建议,将不胜感激,因为我已经浪费了大量的开发时间来解决这个问题。

[更新] 我的区域设置为英语,我已经尝试过删除debug.keystore,与问题834有关的美国。


创建一个新项目,将您的文件复制到这个新项目中,然后重新构建即可。 - James Black
我也遇到了同样的问题,但是我无法解决它。你在哪里找到JavaSE-1.5选项?我正在使用IBM RAD,而且我的Android SDK和Java开发使用的JDK/JRE不同,这可能是问题所在吗?(Android SDK找不到原始的JDK/JRE,所以我必须进行额外的安装) - Brent
3
值得注意的是,我认为这是安卓调试器的一种重载错误消息。我已经看到了很多解决此问题的方法。 - David Gill
在我的情况下,我在项目名称中使用了一个特殊字符- é。这就是错误的原因。我将其改为'e'后问题消失了。 - Bilbo Baggins
我建议从项目根目录运行 android update project --path .,然后尝试运行 ant debug。这会导致特定的构建错误,从而引导出解决方案;由于某种原因,Eclipse没有详细说明出错的原因。 - namuol
24个回答

603

请按照以下步骤操作,这可能会帮助您:

  1. 右键单击应用程序项目并转到“属性”

  2. 从左侧列表中选择Android

  3. 取消“Is Library”复选框的选中状态

如果您的应用程序项目依赖于工作区中的库项目,则这些库项目当然需要勾选“Is Library”复选框。


16
太好了!+1兄弟,我想再加几个“+”但是不行。我完全不知道为什么首先会选择“is library”。 - user562566
2
这对我也有帮助,尽管它未能导入的共享库确实是一个库。因此,当将来再次出现这种情况时,我只需取消选中、安装,然后重新选中此选项即可解决问题。 - joveha
5
这对我没有起作用,我使用了下面的解决方案(删除/gen/中的R.java,然后重新启动eclipse)。 - Ryan R
4
"图书馆"应在库项目中取消选中,而不是在您的实现项目中。也许该消息是因为库试图找到并引用其自己的.apk作为自己的库?! - Almer
2
请注意,这是针对MAIN项目的正确答案,而不适用于实际库项目。请参阅https://dev59.com/NG035IYBdhLWcg3wK80m。 - Robin Davies
显示剩余6条评论

24

删除/Gen文件夹中的R.Java文件对我起到了作用。


1
我还不得不删除Eclipse添加到一些Java类中的所有“R.Android”导入!!! - Hubert
这对我有用。不是被接受的答案。删除R.java文件,然后重新启动Eclipse。 - Ryan R

16

我尝试了以上所有解决方案,但都没有起作用。

解决方案是重新启动Eclipse!!!!!

希望这能帮助到某个人 :)


3
我也是这样想的,但我认为只有在尝试了所有上述解决方案之后才能生效。 - Rafaesp

12

在我的情况下,这个问题是在eclipse更新了v4.0 API版本的插件后开始出现的。 我通过进入Eclipse的主要首选项,在Android->Build下取消勾选“在导出或启动之前跳过打包和dexing”来解决它。

注意:如果你的eclipse出现了“未知命令‘crunch’”错误,则请参照这篇文章


8
我已经试图将其他人的答案汇总成一份逐步操作的清单,请按照以下顺序尝试:
  • 检查项目是否设置为库:
    1. 进入“项目”->“属性”
    2. 从左侧列表中选择“Android”
    3. 取消选中“是库”复选框
  • 清理并重新构建项目-这应该会删除并重新创建整个gen文件夹,包括一些人在答案中提到的R.java文件
  • 检查Eclipse和所有Android插件是否最新
  • 关闭项目,退出Eclipse,重新打开Eclipse,重新打开项目。
  • 转到Java Build Path > 项目,并检查任何不正确的项目依赖项
  • 转到Eclipse的主要首选项,在“Android”下的“Build”中取消选中“跳过打包和dexing直到导出或启动”
  • 检查JAVA_HOME是否设置正确。请参考此文章中的步骤

如果您完成了上述清单,仍然没有解决问题,请留下评论,或者如果您发现其他有效方法,请随时编辑答案并添加您的方法。


  1. 清理并重新构建项目。
  2. 关闭项目,退出Eclipse,重新打开Eclipse,再次打开项目。以上两个步骤解决了我的问题,谢谢。
- wenbo qiu
关闭项目,退出Eclipse,重新打开Eclipse,再次打开项目对我有用!!这让我想起了美妙的Windows秘诀 - “请重新启动计算机,看看问题是否已经消失。” - Chandranshu

5

FYI- 这个方法在我遇到这个问题的另一个时间里有效。任何遇到这个问题的人应该首先尝试这个解决方案。我也看到了,但我的语言设置为英语。这真的让我相信这是一个过载和模糊的错误信息。 - David Gill

2

我不是专家,但在Windows上使用Eclipse做安卓应用时,无法创建默认的default.properties文件(在应用程序根目录中)。我只是从另一个应用中复制了一个文件,它可以正常工作。对于Android 2.2项目,它的简单内容只是这样的(忽略注释):

target=android-8

顺带一提。


2
我遇到了与OP相同的问题,但所有这些建议都没有起作用。我为自己找到了一个解决方案。
请确保选择了“直到导出或启动时跳过打包和dexing”选项。
转到窗口 -> 首选项 -> Android -> 构建。只需确保选择该选项并应用即可。
我知道这听起来不太合理,但未选择它会给我带来这个错误,而选择它后,错误消失了,apk已安装。
我正在使用从Android自动生成的ant构建脚本,并且仅在Eclipse中将其用作我的构建过程。我没有使用任何其他构建方法。

1

我不知怎么地将运行配置设置为了Java应用程序而不是Android。


更多的细节会很有帮助。 - James A Mohler

1

我找到了解决方法。我引用了JavaSE-1.5并使用JDK 1.6。我将其更改为使用1.6,看起来问题已经解决。

似乎通过我的研究,这是一个覆盖了许多错误情况的重载错误消息。


你的 Android 项目不应直接引用 Java。你的构建路径应该包括一个 Android 版本但不包括 Java 版本。 - Kenny Wyland
我的某些东西肯定被搞混了。我想这是因为在使用m2eclipse时,早期版本的maven-android-plugin出现了问题。不过,我仍然强烈推荐在Android构建中使用Maven。 - David Gill

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接