Windows和Mac上的Android库项目

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

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

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

一种选择是:

  • 不是版本.classpath
  • 版本一个类路径模板
  • 生成正确的类路径,具体取决于检出代码的当前平台。

这被称为内容filter驱动程序 ,这里是一个smudge脚本,它将在git checkout上自动调用(因此是“无缝”方面),并将生成实际的.classpath (否则不进行版本化并添加到.gitignore

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

(图片显示在“ 自定义Git – Git属性 ”中,来自“ Pro Git book ”)

请注意,您可以从repo轻松删除(不在本地删除它) .classpath

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