Unable to resolve target 'android-i'

本文介绍了解决在Eclipse中导入旧版Android项目时遇到的SDK版本不匹配及Dalvik格式转换失败等问题的方法。包括修改project.properties文件中的目标SDK版本以及清理不必要的JAR文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

重新装完Ecplise+ATD+Android SDK 在Ecplise工作空间导入之前写过的Android项目会出现错误,大部分是SDK 版本不符,如下错误提示:
Error:Unable to resolve target android-5

解决办法:修改工程目录下的project.properties文件里的内容target=android-5数字改成你机器里装过的android SDK版本就可以了。

附:
使用高版本的SDK后再导入以前用低版本的project时,会遇到一些兼容性的问题。
(1)Unable to resolve target android-5
因为本机中现在使用的是2.1的SDK,API的版本是7;而导入的工程使用的是2.0开发的,其API版本是5。
需要将project.properties中的target=android-5改为target=android-7就好了。
但要注意,也要同步将AndroidManifest.xml中的<uses-sdk android:minSdkVersion="5" />也要改一下,否则编译中会警告提示使用的版本过低。
(2)以上完成后,编译中又出现一个新的错误:Conversion to Dalvik format failed with error 1
这个与加载的SDK有关,通过“右键选择工程build path -> configure build path... -> library发现导入的JARs中除了一个Android 2.1-update1外还有一个同路径下的文件夹item,将其移除,clean一下再编译就没问题了。

### 解决方案 当遇到 `Error: Unable to resolve target android-9` 的问题时,通常是因为 Eclipse 或 ADT 插件未能找到对应的 Android API Level 9 平台工具包。以下是详细的解决方案: #### 1. 检查本地 SDK 是否安装对应平台 确认是否已下载并安装了 Android API Level 9(即 Android 2.3/2.3.1)。可以通过以下方式验证: 打开 **SDK Manager** 工具,并查找是否存在名为 “Android 2.3 (API 9)” 的条目[^1]。如果未安装,则勾选该选项并点击“Install”。 #### 2. 修改 Project Properties 文件 在项目的根目录下找到 `project.properties` 文件,检查其中的配置项 `target=android-9` 是否存在。如果没有此文件或者其内容为空,则手动创建或编辑它,确保包含以下行: ```properties target=android-9 ``` #### 3. 更新 AndroidManifest.xml 中的目标版本号 除了调整 `project.properties` 外,还需要同步更新应用清单文件中的设置。具体来说,需更改 `<uses-sdk>` 节点下的属性值为匹配当前环境支持的最低和最高级别。例如: ```xml <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.myapp"> <uses-sdk android:minSdkVersion="9" android:targetSdkVersion="9" /> </manifest> ``` 注意这里将 `android:targetSdkVersion` 设置为了 `"9"`[^2]。 #### 4. 如果上述操作仍失败尝试降级处理 有时即使完成了以上步骤也可能因为某些原因继续报错。此时可以考虑降低目标平台至更低版本比如 `android-8`(Froyo),但这仅适用于确实不需要依赖 Gingerbread 新特性的情况[^3]: 再次修改 `project.properties` 和 `AndroidManifest.xml` ,把所有的 `9` 替换成 `8`. #### 5. 升级开发工具链 考虑到较老版的 Android Studio/Eclipse 可能不再完全兼容现代硬件软件条件, 建议升级整个开发套件包括但不限于 JDK,Eclipse IDE 自身以及最新版 ADT Plugin 。此外也可以切换到官方推荐更现代化替代品 —— Android Studio 来完成相同任务[^4]. #### 示例代码片段展示如何定位错误源码位置 假设我们有一个简单的 Java 类用于测试目的: ```java public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // Potential issue line. } } ``` 上面这段程序里假如 R.java 文件生成过程中出现了异常就可能导致运行时报类似的 cannot be resolved errors. --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值