1

我已经看到有很多关于这个问题的问题,但不幸的是没有人为我解决了这个问题。这是正在发生的事情的屏幕截图:

pom.xml 依赖错误

它依赖于 android-support-v4 jar 文件,如您所见,它已添加到我的构建路径中。它是 maven 库目录的 libs 文件夹中的确切 jar 文件。我尝试了以下方法:

  • 重启 Eclipse
  • 清理项目
  • 右键单击项目并更新依赖项
  • 更新项目配置 禁用和重新启用工作区分辨率

没有任何帮助。有没有其他技巧可以解决这个问题?我看到的所有答案都建议做这些我已经尝试过的事情。

非常感谢!

4

2 回答 2

1

实际根本原因:

在这种情况下, OP JMRboosties报告必须停用Proguard(该工具通过删除未使用的代码并重命名具有语义模糊名称的类、字段和方法来缩小、优化和混淆您的代码)

在发生错误的行(<plugin>项目)上禁用 proguardpom.xml解决了问题

(请参阅“如何将 ProGuard 与 android-maven-plugin 一起使用”)。

使用 Proguard 可能会导致某些副作用:例如,Proguard 页面确实提到:

默认proguard.cfg文件试图涵盖一般情况,但您可能会遇到异常,例如ClassNotFoundException,当 ProGuard 剥离应用程序调用的整个类时会发生这种情况。


原答案:

正如这个GitHub 帖子中提到的:

我打算将我自己的 android 工件部署到我的个人存储库中,以避免再次出现此问题。
如果你没有明确使用 Maven,你可以将它作为一个常规的 Android 项目导入到 eclipse 中,它会.jarlibs/目录中获取。

(注意你android-support-v4.jar不在libs你的项目中)

您现在必须使用 maven SDK 部署程序安装 Android 1.6 和兼容库

cd to platforms/platform-4/and extras/compatibility-v4/in the deployerand run mvn installin each。

希望compatlib 能尽快进入 Maven 中心,这样我就可以避免这一步。

同样,该项目设置为在 Eclipse 中用作普通的 Android 项目,与 maven 完全分离。
File, New, Project, Android,使用existing sources,选择library/文件夹。

于 2012-02-16T21:11:09.840 回答
0

假设您在幕后使用 m2e-android,您遇到编译问题的原因是 m2e-android 插件provided从 Eclipse 项目类路径中剥离了所有范围依赖项。

我们这样做是因为,由于 ADT 16.0.0 中的更改,Eclipse 类路径中的任何 JAR 文件都将被打包到可分发的 APK 文件中。

于 2012-03-05T11:41:13.770 回答