2012-07-20 57 views
31

我的Android应用程序,构建在Eclipse中,突然无法编译几十个错误。最明显的错误是指出所有android导入都无法解析。导入android包无法解析

import android.os.Bundle; 
import android.app.Activity; 
import android.graphics.drawable.Drawable; 
import android.media.AudioManager; 
import android.util.Log; 
import android.view.Menu; 
import android.view.View; 
import android.widget.Button; 
import android.widget.ImageView; 

所有这些被标记为无法解析。我尝试删除并重新添加JRE系统库。我试过清洁和重建。我已经尝试了“快速修复”选项来“修复项目设置...”,但只是回应一个对话框,说...

没有建议,以解决无法解决的参考' android.app.Bundle',点击此处手动配置项目'Silent Mode Toggle'的构建路径。

我是Android开发新手,这一个让我完全难住。

在此先感谢您提供的任何帮助。

丰富

+1

以某种方式你的Android SDK被删除或损坏。检查'Window-> preferences-> Android'并查看顶部列出的SDK路径是否仍正确指向有效的SDK安装。 – FoamyGuy 2012-07-20 17:58:11

+1

SDK甚至不需要删除或损坏,在这种情况下,Eclipse可能根本就不会指向它。如果你制作一个新的工作区,导入一个项目等,这很容易发生。 – 2012-07-20 18:00:21

+0

@ChrisStratton我的错误SDK本身不一定被删除或损坏,它可能是eclipse商店的路径。 – FoamyGuy 2012-07-20 18:02:26

回答

28

看来你eclipse-workspace(或者至少你Project)以某种方式打破。

您最近是否移动了android-sdk/Project?如果它不再是Android项目,请尝试查看Preferences->Android以获得有效的android sdk-location

如果这是正确的,请尝试打开一个完整的新工作区,然后从现有Source中输入File->import->Android Project

如果这仍然没有帮助,请制作一个新的android Project并从Eclipse以外的Project内手动复制源代码。之后重新打开Eclipse,并制作一个Project->clean

+0

这对我有用 – freshnode 2013-04-10 12:59:33

+5

有时只是重新启动你的elipse将摆脱这一点。为我工作! – MohanRaj 2015-02-22 05:17:36

1

试试这个在月食:Window - Preferences - Android - SDK位置和设置SDK路径

+0

我创建了一个新项目并且这个问题消失了。我怀疑对SDK的损坏引用的建议是正确的。 – 2012-07-24 18:04:43

+0

@RichWooley你可以将答案标记为已接受,告诉别人这个问题已经解决了!这是如何接受答案http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work – 2012-07-25 00:19:13

16

所有其他人说的。

具体来说,我建议你去Project > Properties > Java Build Path > Libraries,并确保你有一个android.jar引用的副本。 (如果你正在导入一个项目,有时你可以得到两个。)并且它的路径是正确的。

有时,您可以通过点击Project > Properties > Android中的不同目标SDK,然后恢复原始选择,来让系统为您解决此问题。

5

我刚刚接受Java更新后发生同样的问题 - 构建错误和android导入的分数无法识别。在Project => Properties中检查构建路径时,我发现Android 4.3的复选框已被清除。检查它解决了所有的导入错误,甚至不必重新启动IDE或运行项目清理。

+0

我相信这是正确的方法(尤其是如果你不想创建一个新的工作空间或项目) – Mike 2013-12-23 05:40:04

1

import android packages cannot be resolved也使用一些库,当你出现那库不在同一路径在您的应用程序是存在的,或者如果要导入库,而不是应对库工作区

9

右键点击project-> properties-> android->选择目标名称为“Android 4.4。2" - 单击OK

因为DocumentsContract在API层面增加19

+0

tnx哥们,这是我的答案。 – 2016-01-19 05:52:21

1

可能是你正在使用此检查:

if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) { 
} 

要解决这一点,你需要导入android.provider.DocumentsContract

要解决此问题,您需要将构建SDK版本设置为19(4.4)或更高版本,以使API级别19符号可用whi编译。

首先,使用SDK管理器下载API 19,如果您还没有它。 然后,配置项目中使用API​​ 19:

  • 在Android Studio中:文件 - >项目结构 - >常规设置 - >项目SDK。
  • 在Eclipse ADT:项目属性 - > Android的 - >项目建设目标

我发现从here

感谢这个答案。

1
RightClick on the Project > Properties > Android > Fix project properties 

这解决了它对我来说。简单。