什么文件应该在我的。gitignore为一个Android工作室项目?
我见过几个包含。iml的例子,但是IntelliJ文档说。iml必须包含在你的源代码控制中。
什么文件应该在我的。gitignore为一个Android工作室项目?
我见过几个包含。iml的例子,但是IntelliJ文档说。iml必须包含在你的源代码控制中。
当前回答
在Android Studio中,唯一需要保存在版本控制中的文件是使用gradle从命令行构建应用程序所需的文件。所以你可以忽略:
* .iml .idea 构建
但是,如果您保存任何IDE设置,例如自定义代码样式设置,它们将保存在.idea文件夹中。如果您希望在版本控制中进行这些更改,那么您也可以保存IDEA文件(*。Iml和idea)。
其他回答
我知道这是一个老话题,当然有很多选择,但我真的更喜欢西蒙惠特克的gibo。它使用起来超级简单,跨平台(mac, *nix和windows),并使用github gitignore repo,所以它(基本上)总是最新的。
确保你的本地缓存是最新的:
$ gibo --upgrade
From https://github.com/github/gitignore
* branch master -> FETCH_HEAD
Current branch master is up to date.
搜索你需要的语言/技术:
$ gibo --search android
Android
显示.gitignore文件:
$ gibo Android
### Android
# Built application files
*.apk
*.ap_
# Files for the Dalvik VM
*.dex
# Java class files
*.class
# Generated files
bin/
gen/
# Gradle files
.gradle/
build/
# Local configuration file (sdk path, etc)
local.properties
# Proguard folder generated by Eclipse
proguard/
# Log Files
*.log
现在,将它附加到项目的.gitignore文件中:
$ gibo Android >> .gitignore
(确保你使用>>附加到你的项目的。gitignore文件;一个>将覆盖它-因为我已经做了很多次意外!)
我知道这不是回答OP的确切问题,但使用gibo使它使你几乎不必再考虑“问题”!. .很高兴!;)
Android Studio 3.5.3
我在我的库和项目中使用这个,它涵盖了大多数由android studio和其他著名工具生成的文件:
# Built application files
*.apk
*.ap_
*.aab
# Files for the ART/Dalvik VM
*.dex
# Generated files
bin/
gen/
out/
app/release/
# Gradle files
.gradle/
build/
# Local configuration file (sdk path, etc)
local.properties
# Log Files
*.log
# Android Studio Navigation editor temp files
.navigation/
# Android Studio captures folder
captures/
# IntelliJ
*.iml
.idea/workspace.xml
.idea/tasks.xml
.idea/gradle.xml
.idea/assetWizardSettings.xml
.idea/dictionaries
.idea/libraries
.idea/caches
# Keystore files
# Uncomment the following lines if you do not want to check your keystore files in.
#*.jks
#*.keystore
# External native build folder generated in Android Studio 2.2 and later
.externalNativeBuild
# Freeline
freeline.py
freeline/
freeline_project_description.json
# fastlane
fastlane/report.xml
fastlane/Preview.html
fastlane/screenshots
fastlane/test_output
fastlane/readme.md
#NDK
*.so
这份来自JetBrains Support的官方文档认为应该包含以下内容:
All files under .idea directory except workspace.xml and tasks.xml because
they store specific user settings
All the *.iml files that can be located in different module directories
它还给出了其他需要注意的事项的建议。
更新:7/2015
以下是来自JetBrains的确切来源
基于目录的项目格式(。想法目录)
默认情况下,所有最新的IDE版本都使用这种格式。以下是你需要分享的内容:
项目根目录下的。idea目录下的所有文件,除了存放用户特定设置的workspace.xml和tasks.xml文件 可以位于不同模块目录下的所有.iml模块文件(适用于IntelliJ IDEA)
分享以下信息时要小心:
生成签名构建的Android构件(将包含密钥库密码) 在IDEA 13和更早的数据源中。id、datasources.xml可以包含数据库密码。IDEA 14解决了这个问题。
你可考虑不分享以下资料:
xml文件,请参阅此讨论 用户字典文件夹(如果其他开发人员有相同的名称,可以避免冲突) .idea/libraries下的XML文件,以防它们是从Gradle项目中生成的
遗留项目格式(.ipr/.iml/。技术手册文件)
共享项目的。ipr文件和所有的。iml模块文件,不要共享。iws文件,因为它存储了用户特定的设置
虽然这些说明是针对IntelliJ IDEA的,但它们100%适用于Android Studio。
下面是一个.gitignore代码片段,它包含了上述所有规则:
# Android Studio / IntelliJ IDEA
*.iws
.idea/libraries
.idea/tasks.xml
.idea/vcs.xml
.idea/workspace.xml
使用Android Studio 3.0测试
你可能需要安装.ignore插件。
你可以为Android自动生成.gitignore文件。 右键单击文件夹并跟随
然后从左侧面板选择Android,单击Generate
Android Studio将生成.gitignore文件,其中包含所有需要忽略的文件。
摘自http://menukanows.com/how-to-add-gitignore-file-in-android-project/