Android运行时:无法解析导入com.google.api.client

10

有人遇到过在Android运行时无法解析导入的问题吗?

我正在尝试按照说明构建日历Android示例: http://samples.google-api-java-client.googlecode.com/hg/calendar-android-sample/instructions.html?r=default

我的构建路径包含以下内容:

BuildPath

在Eclipse中它可以正常构建且没有任何问题/警告。但是,当我在我的HTC(Android 2.3.3)上启动它时,它会 "意外停止",而在LogCat中则显示:

E/AndroidRuntime(8170): java.lang.Error: Unresolved compilation problems: 
E/AndroidRuntime(8170):     The import com.google.api.client cannot be resolved
Followed by many other google-api import resolution failures.

在调试模式下运行时:代码窗口显示它停止在第一个导入处。

package com.google.api.services.samples.calendar.android;
import com.google.api.client.extensions.android2.AndroidHttp; << stops here

我不确定导入失败是否只针对谷歌API,还是普遍存在于导入中的问题。

我猜测可能是Maven没有将这些库链接到APK中。令我惊讶的是,在构建时这个问题没有被标记为问题,如果能在那里发现问题,也许我会更有机会解决它们。

我怀疑我已经损坏了我的Maven安装,并且可能甚至是Eclipse也一样。我的下一步是完全清除它们,并重新进行安装。

有人遇到过导入无法在运行时解析的问题吗? 或者您有任何相关的经验或建议可以提供给我吗?

祝好, Peter


你提供的链接明确说明需要Java 6,但你使用的是Java 5。尝试使用Java 6构建你的项目。 - yorkw
感谢yorkw的评论。我已经从构建路径中删除了JRE系统库[J2SE-1.5],并添加了JRE系统库[jdk1.6.0_29]。现在jre兼容性警告已经消失了,在Eclipse中我是“无问题”的 :-) 但是当我启动我的主要症状仍然存在于运行时,com.google.api.client库没有被解决。欢迎提供进一步的建议。 - Peter Smallwood
最终我建立了一个全新的Eclipse安装包,我的问题消失了。我从未找到根本原因。 - Peter Smallwood
它能在支持Google API的模拟器上运行吗?只是为了检查问题是否出现在生成的APK文件上(因此可能是您的构建环境问题)。 - André Oriani
你看过这个问题了吗?它应该可以解决你的问题。 - Nissi
3个回答

2
根据导入外部.jar文件的需求,您需要将它们放在“libs”{.jar文件}文件夹中。我认为文件夹结构图像将帮助您如何添加外部jar文件。如果您按照图像所示操作,则认为您的错误将消失。enter image description here

1
除了升级到Java 6之外,我建议删除所有外部库并重新添加它们。在升级Java或ADT版本时,Eclipse通常会出现严重问题(至少在我的情况下),对我来说最好的解决方案是清除所有内容并重新开始。如果删除所有依赖项/外部库并重新添加它们无法解决您的问题,我建议创建一个新项目,复制所有资产,然后在那里重新添加Google库。

嗨,Kyle。感谢你抽出时间回答我的问题。最终我不得不清除所有内容并重新开始。我从未找到问题的根本原因。 - Peter Smallwood

1

标准的Google HTTP客户端附带其依赖项。这意味着您也必须导入这些库。

这是您可以导入android-google-calender-example的链接。

此项目已导入所有所需的库。

希望这能帮助您找到解决方案。


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