Eclipse Android和gitignore


188

我可以安全地忽略哪些文件/文件夹包含在git中?

我复制了一个好的项目,删除了它的gen和bin文件夹,然后尝试运行该应用程序。“ Android启动”窗口显示:“您的项目包含错误,请在运行应用程序之前对其进行修复。程序包资源管理器中项目左侧的图标上有一个红色的X。而gen文件夹在Windows资源管理器,它在程序包资源管理器中执行。


1
对项目进行“刷新”(右键单击项目/刷新),或者通过菜单>项目>清理项目。-这可能有助于您摆脱Eclipse中的错误消息。不幸的是,有时只有Eclipse重新启动也会有所帮助。Eclipse不是很可靠,但是一开始是一个很好的免费工具。(我本人已经切换到IntelliJ IDEA。虽然更好,但不是免费的。)
Mathias Conradt 2010年

1
@Mathias Lin:IntelliJ IDEA有一个新的“社区版本” 是免费的。
格雷格·休吉尔

@Greg Hewgill:是的,但是社区版没有内置的Android支持。
Mathias Conradt 2010年

2
@MathiasLin intellij IDEA10:适用于Android开发的免费IDE | JetBrains IntelliJ IDEA博客我知道这已经有两年了,但是我偶然发现了这篇文章,并注意到了过时的信息,所以我想我会把这个(现在是旧的)新闻发布出去。IntelliJ IDEA社区版现在确实支持Android开发。该公告于2010年10月19日发布。发表评论仅几个月后。
DavidDraughn

@DavidDraughn是的,已经使用IDEA两年了,也可以推荐它。
Mathias Conradt 2012年

Answers:


261

有一些文件类型可以忽略

# built application files
*.apk
*.ap_

# files for the dex VM
*.dex

# Java class files
*.class

# generated files
bin/
gen/

# Local configuration file (sdk path, etc)
local.properties

# Eclipse project files
.classpath
.project

# Proguard folder generated by Eclipse
proguard/

# Intellij project files
*.iml
*.ipr
*.iws
.idea/

GitHub上的Gitignore


17
实际上,它已在GitHub上更新,除其他外还包括.project,我在这里表示不同意,并希望您提出意见。场景:我在项目中添加了新类。当我从另一台机器上拉时,它们不在项目中。请检查一下:github.com/github/gitignore/blob/master/Global/…–
Daniel

16
我同意你@丹尼尔。我认为,排除.project.classpath和是不正确的(如在GitHub上链接到的.gitignore文件中所建议).settings。这些是您要在git中捕获的项目设置的一部分。
mgd 2012年


33

我通常添加的.gitignore是:

bin
gen

bin并且gen在编码时会不断变化,因此无需将它们包含在Git存储库中。另外,有时我添加.classpath.project它们是Eclipse的特定文件,因为也许我想根据这些相同的来源,以创建一个新的Android项目,但在另一个操作系统或IDE。

关于错误,我将清理项目和/或尝试运行Fix Project Properties实用工具(右键单击Project-> Android Tools-> Fix Project Properties)。


实际识别和修复错误如何?如果尚未编译项目,为什么要清理该项目呢?
贾斯汀·


7

毫无疑问地忽略bin和gen是安全的。如果我在项目设置方面遇到问题,请执行以下操作:首先-您是否在编辑器视图下方的视图中查看了“问题”选项卡-通常它会提供有关项目错误的更多详细信息。如果那里没有定论,我可以做以下事情:

  1. 通常,当我在Eclipse中遇到问题时,在项目中出现幻像错误时,清理项目即可解决该问题。在菜单中的项目>清洁下。
  2. 如果那行不通,我通常会尝试右键单击该项目,然后转到“ Android工具”>“修复项目属性”。
  3. 我的最后一招是重启eclipse并删除gen文件夹。


-28

简单的回答这个问题是*。*,基本上它是完全安全的忽略你不希望添加到版本控制什么。话虽如此,这实际上取决于您要使用Git完成的工作。如果您希望能够从同一存储库中其他地方签出/导入项目,则最多要忽略/ bin / 和/ gen / ,我不会仅仅为了维护项目的正确目录结构而忽略文件夹本身(即/ bin,/ gen)。

可以回答最初的问题,但与您遇到的问题无关。就解决您遇到的问题而言,您必须发布更多信息,尤其是“问题”选项卡中列出的信息。如果您在任何地方都看不到“问题”选项卡,则单击“窗口”菜单,然后显示视图,然后选择问题(如果存在)或单击“其他”并在“常规”下查找以找到它。


3
这是完全错误的!这将导致git忽略所有文件
清单

1
@checklist您没有阅读问题吗?还是您不理解我的观点?他问“我可以安全地忽略哪些文件/文件夹包含在git中吗?”,答案到底是哪个。您怎么知道他在解决构建问题时不想暂时忽略一切?
Justin Buser 2014年

1
@JustinBuser似乎毫无意义,学究的语义之争。我认为您编造的人为背景与所报告的问题无关。您似乎故意误解了OP。
bacar 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.