什么文件应该在我的。gitignore为一个Android工作室项目?
我见过几个包含。iml的例子,但是IntelliJ文档说。iml必须包含在你的源代码控制中。
什么文件应该在我的。gitignore为一个Android工作室项目?
我见过几个包含。iml的例子,但是IntelliJ文档说。iml必须包含在你的源代码控制中。
当前回答
从Android Studio 0.8.4开始,启动新项目时自动生成gitignore文件。 默认情况下,它包含:
.gradle
/local.properties
/.idea/workspace.xml
/.idea/libraries
.DS_Store
/build
其他回答
.gitignore从AndroidRate库
# Copyright 2017 - 2018 Vorlonsoft LLC
#
# Licensed under The MIT License (MIT)
# Built application files
*.ap_
*.apk
# Built library files
*.aar
*.jar
# Built native files
*.o
*.so
# Files for the Dalvik/Android Runtime (ART)
*.dex
*.odex
# Java class files
*.class
# Generated files
bin/
gen/
out/
# Gradle files
.gradle/
build/
# Local configuration file (sdk/ndk path, etc)
local.properties
# Windows thumbnail cache
Thumbs.db
# macOS
.DS_Store/
# Log Files
*.log
# Android Studio
.navigation/
captures/
output.json
# NDK
.externalNativeBuild/
obj/
# IntelliJ
## User-specific stuff
.idea/**/tasks.xml
.idea/**/workspace.xml
.idea/dictionaries
## Sensitive or high-churn files
.idea/**/dataSources/
.idea/**/dataSources.ids
.idea/**/dataSources.local.xml
.idea/**/dynamic.xml
.idea/**/sqlDataSources.xml
.idea/**/uiDesigner.xml
## Gradle
.idea/**/gradle.xml
.idea/**/libraries
## VCS
.idea/vcs.xml
## Module files
*.iml
## File-based project format
*.iws
https://github.com/github/gitignore是很棒的收藏
Android.gitignore
# Built application files
*.apk
*.ap_
# Files for the ART/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
.idea/workspace.xml
.idea/tasks.xml
.idea/gradle.xml
.idea/assetWizardSettings.xml
.idea/dictionaries
.idea/libraries
.idea/caches
# Keystore files
# Uncomment the following line if you do not want to check your keystore files in.
#*.jks
# External native build folder generated in Android Studio 2.2 and later
.externalNativeBuild
# Google Services (e.g. APIs or Firebase)
google-services.json
# Freeline
freeline.py
freeline/
freeline_project_description.json
# fastlane
fastlane/report.xml
fastlane/Preview.html
fastlane/screenshots
fastlane/test_output
fastlane/readme.md
更新到Android Studio 3.0 请在评论中分享遗漏的项目。
一个迟来的答案,但这个替代答案不适合我们……
这是我们的gitignore文件:
#built application files
*.apk
*.ap_
*.aab
# files for the dex VM
*.dex
# Java class files
*.class
# generated files
bin/
gen/
# Local configuration file (sdk path, etc)
local.properties
# Windows thumbnail db
Thumbs.db
# OSX files
.DS_Store
# Android Studio
*.iml
.idea
#.idea/workspace.xml - remove # and delete .idea if it better suit your needs.
.gradle
build/
.navigation
captures/
output.json
#NDK
obj/
.externalNativeBuild
从Android Studio 2.2到3.0,新项目都是用这个gitignore文件创建的:
*.iml
.gradle
/local.properties
/.idea/workspace.xml
/.idea/libraries
.DS_Store
/build
/captures
.externalNativeBuild
已弃用-对于旧的项目格式,将此部分添加到您的gitignore文件:
/*/out
/*/*/build
/*/*/production
*.iws
*.ipr
*~
*.swp
该文件应该位于项目的根文件夹中,而不是在项目的模块文件夹中。
编辑笔记:
从0.3+版本开始,似乎你可以提交和推送*。我和建造。gradle文件。如果你的项目基于Gradle:在新的打开/导入对话框中,你应该选中“使用自动导入”复选框,并标记“使用默认Gradle包装器(推荐)”单选按钮。所有路径现在都是相对的@George建议。 根据@128KB附件来源和@Skela建议更新了答案
基本上是自动重新生成的任何文件。
一个很好的测试是克隆你的repo,看看Android Studio是否能够立即解释和运行你的项目(生成缺少的东西)。 如果没有,找到丢失的内容,并确保它没有被忽略,而是添加到回购中。
也就是说,你可以在现有的.gitignore文件上举例,比如Android文件。
# 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/
我支持提交。idea文件夹(不包括workspace.xml和tasks.xml)。但我开始得出结论,.iml文件应该被忽略。
问题在于:
例如,在名为“foo”的目录下打开一个项目,你将得到foo。我和那一切看起来都很好。问题是,如果我只是将目录重命名为foo2(或克隆为另一个目录名),当你尝试在Android Studio中打开项目时,你会得到三件事:
一个名为foo2.iml的新iml文件 你的Android项目的iml文件将被更改为指向foo2作为它的父文件 .idea/modules.xml将为foo2添加一行。它既有旧的Iml文件,也有新目录的Iml文件
我找不到方法来阻止Android工作室做这个iml文件生成时,项目存储在一个不同的目录。将它们添加到源代码控制中会导致问题。因此,我认为也许我们应该忽略*。Iml文件和。idea/modules.xml