Windows和Mac上的Android库项目

时间:2015-06-03 06:23:47

标签: java android eclipse git noclassdeffounderror

我代表我的两个Android开发团队提出这个问题。我使用Windows,而我的合作伙伴则使用Macbook。当通过Git共享项目时,classpaths意外地搞砸了。以下是一些观察结果:

  • 引用的图书馆项目(最初工作)无法再解决。
  • 通过“Java Build Path'”中的“项目”选项卡添加时,可以找到这些库。
  • 但应用程序崩溃(由于NoClassDefFoundError),再次指向凌乱的构建路径结构。
  • Mac上最初引用的库项目曾经直接作为JAR出现在构建路径中。现在他们在Android Dependencies下做了,这很奇怪(前者更多)。
  • 在Windows上,上述JAR一直位于Dependencies和Referenced Libraries。

我想以一种我们可以在Git上共享项目并在未来无缝工作的方式解决此问题。 :)

1 个答案:

答案 0 :(得分:1)

一种选择是:

  • 不是版本.classpath
  • 版本一个类路径模板
  • 根据检出代码的当前平台生成正确的类路径。

这称为content filter driver,此处为smudge脚本,将在git checkout上自动调用(因此为"无缝"方面),并将生成实际.classpath(否则未加版本并添加到.gitignore

http://git-scm.com/book/en/v2/book/08-customizing-git/images/smudge.png

(图片显示在" Customizing Git - Git Attributes",来自" Pro Git book")

请注意,您可以从回购中轻松删除.classpath(不在本地删除):

git rm --cached -- .classpath
git add -u .
git commit -m "Delete .classpath"
git push