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
)
(图片显示在“ 自定义Git – Git属性 ”中,来自“ Pro Git book ”)
请注意,您可以从repo轻松删除(不在本地删除它) .classpath
:
git rm --cached -- .classpath git add -u . git commit -m "Delete .classpath" git push