使用Android开发工具v.23更新Eclipse

618

我升级了Eclipse和新的SDK工具(rev. 23),但现在当Eclipse启动时,我收到以下错误:

此Android SDK需要Android Developer Toolkit版本23.0.0或更高版本。当前版本为22.6.3.v201404151837-1123206。请将ADT更新至最新版本。

"检查更新"未发现任何更新。如果我尝试"安装新软件",我可以看到版本23,但由于以下错误,我无法升级:

Cannot complete the install because of a conflicting dependency.
Software being installed: Android Development Tools 23.0.0.1245622 (com.android.ide.eclipse.adt.feature.feature.group 23.0.0.1245622)
Software currently installed: Android Developer Tools 22.2.1.v201309180102-833290 (com.android.ide.eclipse.adt.package.product 22.2.1.v201309180102-833290)
Only one of the following can be installed at once: 
    ADT Package 22.6.3.v201404151837-1123206 (com.android.ide.eclipse.adt.package 22.6.3.v201404151837-1123206)
    ADT Package 23.0.0.1245622 (com.android.ide.eclipse.adt.package 23.0.0.1245622)
Cannot satisfy dependency:
    From: Android Development Tools 23.0.0.1245622 (com.android.ide.eclipse.adt.feature.feature.group 23.0.0.1245622)
    To: com.android.ide.eclipse.adt.package [23.0.0.1245622]
Cannot satisfy dependency:
    From: Android Development Tools 22.6.3.v201404151837-1123206 (com.android.ide.eclipse.adt.feature.group 22.6.3.v201404151837-1123206)
    To: com.android.ide.eclipse.adt.package [22.6.3.v201404151837-1123206]
Cannot satisfy dependency:
    From: ADT Package 22.2.1.v201309180102-833290 (com.android.ide.eclipse.adt.package.feature.group 22.2.1.v201309180102-833290)
    To: com.android.ide.eclipse.adt.feature.group 22.2.0
Cannot satisfy dependency:
    From: Android Developer Tools 22.2.1.v201309180102-833290 (com.android.ide.eclipse.adt.package.product 22.2.1.v201309180102-833290)
    To: com.android.ide.eclipse.adt.package.feature.group [22.2.1.v201309180102-833290]

从网站下载了最新的ADT之后,似乎又出现了另一个问题。

在SDK Tools rev. 23中,未安装proguard,文件夹SDK dir/tools/proguard不存在,其他工具也缺失。此版本存在多个错误。


5
@kaushik,你的评论超出了范围。我说过我已经尝试过更新Eclipse,但没有成功。 - greywolf82
5
有关Proguard的问题已被提出 - https://code.google.com/p/android/issues/detail?id=72419 - NickT
4
有没有办法可以撤销我当前的更新? - r.bhardwaj
3
@alvaro.delaserna:我很想尝试一下,但不幸的是,当我按照Biljana在下面发布的答案卸载“已安装”的文件时,我的eclipse可执行文件被删除了。 - r.bhardwaj
5
如果您前往“帮助”>“关于Eclipse”>“安装详细信息”,然后检查“安装历史记录”,就可以恢复任何更改(仅适用于更新)。如果您是为了安装旧版本而卸载了ADT,则此方法不起作用。如果是更新导致的更改,您应该能够还原回去。 - RED_
显示剩余25条评论
43个回答

193

谷歌发布了ADT v23.0.2,这解决了许多之前ADT版本23的问题。

步骤:

  • 菜单 帮助 → 安装新软件...
  • 对于“Work with”,选择Android源 https://dl-ssl.google.com/android/eclipse Work with Android source
  • 勾选安装ADT v23.0,然后单击“下一步”
  • Eclipse将显示“安装修复页面”,因为与以前版本存在冲突(如果没有,请参见下文)。选择“更新我的安装以兼容正在安装的项目”以卸载旧版本并安装新版本。之后,按照通常的步骤进行操作。

Install remediation page

注意:当我安装ADT的新版本时,我没有包括新版本的“Android Native Development Tools”软件包。相反,我先安装了其他软件包,然后再安装“Android Native Development Tools”。由于某种原因,如果我尝试安装包括“Android Native Development Tools”的所有新软件包,则安装将失败。

如果没有“修复页面”,从Eclipse中删除ADT插件的唯一方法是进入菜单帮助→ 关于Eclipse→ 安装详细信息并从那里卸载。但是这会有卸载Eclipse本身的风险。


110
我实际上收到了一个错误信息,显示出现“冲突依赖”,而不是Eclipse说它将卸载版本22.X。 - Roy Solberg
4
是的,同样的事情。我正在使用来自Android网站的新鲜ADT捆绑包重新安装Eclipse。 - greywolf82
3
你需要拥有SDKDIR/tools/proguard文件夹。但是我现在可以说,SDK工具版本23存在缺陷,根本没有安装proguard。 - greywolf82
236
我对谷歌感到不满意,我不喜欢尝试解决这些本不应存在的问题所带来的负担。 - Tyler Pfaff
7
即使省略指定的软件包,它仍无法正常工作。真是一团糟。这是我从Eclipse爱好者变成Eclipse反感者的第34210987个理由。 - Brian Knoblauch
显示剩余21条评论

115

谷歌回应

这是一个打包错误,整个proguard文件都缺失了。我们会尽快更新,但在此之前,请从之前版本的工具中复制它:

并复制以下文件:

  • tools/hprof-conv
  • tools/support/annotations.jar
  • tools/proguard

最后,如果您从新的ADT开始,请手动复制这些文件:

编辑:使用最新的ADT发布版,软件包现在可以通过自动更新工作,所以安装这些新版本

  • mac: http://dl.google.com/android/adt/adt-bundle-mac-x86_64-20140702.zip
  • win32: http://dl.google.com/android/adt/adt-bundle-windows-x86-20140702.zip
  • win64: http://dl.google.com/android/adt/adt-bundle-windows-x86_64-20140702.zip
  • 不要尝试从以前版本升级,因为这根本行不通。 如果您在使用zipalign时遇到问题,它现在在build-tools下而不再是tools/下,因此您可以创建符号链接或将其复制到预期文件夹中。


    5
    在annotations.jar的tools/support目录下,在整个proguard文件夹的tools/目录下以及在hprof-conv文件的tools/目录下。 - greywolf82
    1
    我将完全移除ADT 23和完全删除新的Eclipse Luna。我在Eclipse 4.4 RC4上表现良好,升级到发行版本似乎打破了一切。NDK阻止我迁移到A-Studio。 - Robert Rowntree
    5
    这对我起作用了,但在执行此操作之前,我必须卸载 Android SDK Tools-23 并粘贴完整的工具文件夹。 - Chitrang
    1
    安装ADT Bundle 64位Windows时,在最后下载失败。 - Stephen
    2
    这太愚蠢了...他们有检查过发布吗???他们的工作室什么时候才会退出Beta阶段啊?!!! - greaterKing
    显示剩余13条评论

    53

    对于我所使用的developer.android.com上发布的ADT包,其他答案都不能解决我的问题。

    最终,我下载了最新版本的Eclipse(不是ADT包),然后通过菜单 帮助安装新软件 → 输入https://dl-ssl.google.com/android/eclipse(由@RED_提供)来安装ADT插件。

    我还需要更新我的工作区以指向之前的工作区,并恢复大多数东西。

    顺便说一句:现在似乎是迁移到Android Studio的好时机...


    40
    他们会强制开发人员这样做,转移到Studio吗? - Aman Alam
    2
    我也尝试过了,但这对于 developer.android.com 提供的 ADT bundle 不起作用,卸载 ADT 也不是解决方案。 - Srikanth Roopa
    1
    是的,因为Eclipse声称SDK版本23需要版本23 ADT,而Eclipse显示没有可用于Eclipse ADT的更新,更新NDK不会解决此问题。我不得不安装新版本的Android开发工具。我使用了适用于Linux 64位的ADT捆绑包,并将其解压到与原始位置不同的新位置,并按照Andoide开发人员页面指南重新安装了所有工具。在Linux捆绑包中,SDK仍然存在问题,因此您必须像这里解释的那样将annotations.jar复制到正确的位置。整个故事都在我的答案中解释了。我可以保存我的旧工作区,没有丢失任何东西,呼。 - Reijo Korhonen
    7
    如果 Android Studio 处理事情的方式是这样的,我是否会信任它呢? - Richard Le Mesurier
    1
    我只需使用新的软件安装(选择了所有内容)并对我的Android项目进行干净的重建,就能够恢复我的Luna安装。我没有先卸载任何以前的Android东西。 - JT.
    显示剩余2条评论

    52

    注意:谨慎使用此方法,因为这可能会损坏您的Eclipse安装(请参阅评论)。

    如果您是手动安装ADT插件,则此方法可能会对您有所帮助。但是,如果您正在使用来自Eclipse ADT Bundle的Eclipse版本,则以下步骤可能会破坏您的Eclipse安装,从而导致您无法再次使用Eclipse!

    前往:

    菜单帮助关于 Eclipse SDK安装详细信息

    现在,您将看到所有的22.0版本,然后在底部单击卸载按钮。

    卸载后进入:

    菜单帮助安装新软件 → 输入http://dl-ssl.google.com/android/eclipse/

    然后安装所有内容,现在就准备好了。


    71
    这破坏了我的 Eclipse 安装。 - barkside
    4
    无法工作,我的Eclipse不再响应。 - Hugo Matilla
    2
    我认为这会在Mac OS中破坏Eclipse。 - Bharat Dodeja
    5
    如果您手动安装了ADT插件,那么这应该可以工作。否则,就不行。您可以通过Eclipse图标进行检查:“如果您手动安装了ADT插件,则应具有标准的紫色Eclipse图标。如果您正在使用ADT Bundle,则启动图标将是带有花括号的绿色。”这对我有效。 - jsanmarb
    2
    这也破坏了我在Mac OSX Mavericks上的Eclipse。我想我只能重新安装了。从30多个答案中,我唯一能得出的结论是没有一个适用于所有人的好答案。最快的方法似乎就是重新安装。谷歌是个可怕的公司,支持很差。与Xcode相比,Eclipse实在是一团糟。 - Frank Brosnan
    显示剩余7条评论

    18

    今天我在更新我的构建服务器时遇到了同样的问题。这个问题已经在这里报告了: https://code.google.com/p/android/issues/detail?id=72419

    修复正在进行中,项目经理提供的解决方法是:

    请等待一两天内的更新版本。在此期间,您的解决方法是下载以下之一:

    http://dl.google.com/android/android-sdk_r22.6.2-linux.tgz

    http://dl.google.com/android/android-sdk_r22.6.2-windows.zip

    http://dl.google.com/android/android-sdk_r22.6.2-macosx.zip

    然后将以下文件复制过去:

        tools/hprof-conv
        tools/support/annotations.jar
        tools/proguard
    
    [编辑] 我也缺少了zipalign,请检查是否您也需要复制它。

    1
    嗨,这些解决方法对我无效。仍然出现相同的错误。 - GingerJim
    1
    作者一直在编辑问题,这是对问题“缺失的文件在哪里可以找到”的回应。 - wi1
    我在Linux的下载压缩包中没有看到应该复制的文件。 - OKGimmeMoney

    17

    这对我很有用 :)

    如果由于某种原因你安装了ADT预览版,并需要回退到当前的稳定版本,那么你不能使用对话框安装“新”的软件,因为你想要的实际上是一个旧版本。相反,请按照以下步骤操作:

    • 在Windows或Linux上打开“Help > About Eclipse…”;在Mac上,请使用应用程序菜单>“About…”。
    • 单击“Installation Details”按钮。
    • 选择“Installation History”选项卡。
    • 选择之前的一个配置。
    • 在底部点击“Revert”按钮。

    显示图片描述


    16

    以下是他们所说的:

    好的,伙计们,很抱歉给你们带来麻烦,我们为发布混乱道歉。这是总结:

    从ADT捆绑包23.0.2开始,您应该能够更新到未来版本的ADT。

    来源: https://code.google.com/p/android/issues/detail?id=72912


    1
    这似乎是最官方的来源。我希望它能够像他们承诺的那样在未来发挥作用。 - Bruno Bieri

    15

    我已经采取以下措施来解决问题。

    1. 进入 http://developer.android.com/sdk/installing/installing-adt.html ,下载最新的ADT ZIP文件(在页面底部)。

    2. 进入Eclipse → 菜单帮助关于Eclipse安装详细信息

    3. 删除Android DDM,Android开发工具,Hierarchy Viewer,Native Development Tools,TraceView等22.X版本

    4. 菜单帮助安装新软件添加存档 → 在第1步中下载的ZIP文件。

    5. 选择所有我在第3步中删除的所有23个的最新版本,并接受许可协议。

    重启Eclipse,这样可以修复我的问题。


    2
    我也做了同样的事情(独立的Android SDK管理器),并且遇到了“greywolf82”抱怨的问题。你的答案不是解决方案。 - seanpj
    2
    尽管我试图卸载Android开发工具,但无法再次启动eclipse。在卸载Android开发工具后,eclipse.exe文件本身也消失了。 - madhu
    8
    如果您正在使用 ADT bundle,请勿这样做。卸载 ADT 后,Eclipse 将无法启动!此提示仅适用于将 ADT 添加到现有 Eclipse 安装中的用户。 - A.J.

    9

    1
    是的。但是第23版有问题。缺少proguard,annotation.jar和其他工具。请参见上面链接的错误报告,Google回复我们说应该在几天内修复,现在我们可以使用他们回复中发布的链接手动复制缺失的部分作为解决方法。 - greywolf82
    对于 Mac 用户,这些建议非常有用。 - Vlad

    8
    如果您安装了新的Eclipse版本,它将正常工作。 以下是我的做法:
    1. 安装了新的Eclipse版本Luna
    2. 备份了当前的工作区。
    3. 运行新的Eclipse,Luna,并更新工作区
    4. 安装ADT插件(帮助->安装新软件)
    5. 重新启动Eclipse
    6. 完成

    但是请注意,GPE(Eclipse的Google插件)尚不支持Luna。https://groups.google.com/forum/#!topic/google-plugin-eclipse/4YACQROrB2U - Tom

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