在Android开发中,什么文件应该被提交到一个仓库?

Android项目中的哪些文件应该提交给版本控制库? 哪些文件不应该被提交?

现在我的.gitignore文件由以下几行组成:

# Android generated files # ########################### android.keystore local.properties bin/ gen/ libs/ obj/ # OS generated files # ###################### .DS_Store* ehthumbs.db Icon? Thumbs.db # Eclipse generated files # ########################### .settings/org.eclipse.jdt.core.prefs 

我错过了什么?

GitHub在这个公共存储库维护一个推荐的.gitignore文件的正式列表。

对于Android,你可以在这里find它

或者只是复制/粘贴:

 # Built application files *.apk *.ap_ # Files for the Dalvik VM *.dex # Java class files *.class # Generated files bin/ gen/ out/ # Gradle files .gradle/ build/ # Local configuration file (sdk path, etc) local.properties # Proguard folder generated by Eclipse proguard/ # Log Files *.log # Android Studio Navigation editor temp files .navigation/ # Android Studio captures folder captures/ # Intellij *.iml 

一般的经验法则是不要将任何可以重新生成的文件提交到存储库中。 话虽如此,你也可以将你的project.properties文件添加到.gitignore (如果存在的话)。

不要添加bin文件夹和gen文件夹。 他们不是你生成的源的一部分。 将来请记住,您只添加构build和运行项目所需的文件,而二进制文件和生成的文件则不是。

然而,如果你不使用像常春藤或maven任何工具,你可能希望你的lib文件夹出席。 通常当你使用一个库项目时,你也需要提交它

在创build一个新项目时,从Android Studio 2.2.2开始(可能在此版本之前添加),Google会为您添加一个默认的.gitignore文件,其中包含以下内容:

 *.iml .gradle /local.properties /.idea/workspace.xml /.idea/libraries .DS_Store /build /captures .externalNativeBuild 

与上面的答案稍有不同,因为它也忽略了.idea文件夹,它们往往有很多文件。