繁体   English   中英

对于 Android Studio 项目,我的 .gitignore 中应该包含哪些内容?

[英]What should be in my .gitignore for an Android Studio project?

对于 Android Studio 项目,我的.gitignore应该包含哪些文件?

我见过几个都包含.iml示例,但 IntelliJ 文档说.iml必须包含在您的源代码管理中。

更新到 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

此文件应位于项目的根文件夹中,而不是在项目的模块文件夹中。

编辑注释:

  1. 从 0.3+ 版本开始,您似乎可以提交和推送 * .imlbuild.gradle文件。 如果您的项目基于 Gradle:在新的打开/导入对话框中,您应该选中"use auto import"复选框并标记"use default gradle wrapper (recommended)"单选按钮。 正如@George 建议的那样,所有路径现在都是相对的。

  2. 根据@128KB附加来源和@Skela 建议更新答案

基于我的普通 Android .gitignore ,在阅读 Intellij IDEA 网站上的文档并阅读 StackOverflow 上的帖子后,我构建了以下文件:

# built application files
*.apk
*.ap_

# files for the dex VM
*.dex

# Java class files
*.class

# built native files (uncomment if you build your own)
# *.o
# *.so

# generated files
bin/
gen/

# Ignore gradle files
.gradle/
build/

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

# Proguard folder generated by Eclipse
proguard/

# Eclipse Metadata
.metadata/

# Mac OS X clutter
*.DS_Store

# Windows clutter
Thumbs.db

# Intellij IDEA (see https://intellij-support.jetbrains.com/entries/23393067)
.idea/workspace.xml
.idea/tasks.xml
.idea/datasources.xml
.idea/dataSources.ids

另请注意,正如所指出的,构建本机文件部分在您使用 Android NDK 构建自己的本机代码时主要有用。 另一方面,如果您使用包含这些文件的第三方库,您可能希望从 .gitignore 中删除这些行(*.o 和 *.so)。

7/2015 更新:

这是JetBrains 的权威来源


基于目录的项目格式(.idea 目录)

默认情况下,所有最近的 IDE 版本都使用此格式。 以下是您需要分享的内容:

  • 项目根目录下.idea目录下的所有文件,除了存储用户特定设置的workspace.xmltasks.xml文件
  • 可以位于不同模块目录中的所有.iml模块文件(适用于 IntelliJ IDEA)

分享以下内容时要小心

  • 生成签名构建的 Android 工件(将包含密钥库密码)
  • 在 IDEA 13 和更早版本的dataSources.idsdatasources.xml可以包含数据库密码。 IDEA 14 解决了这个问题

您可以考虑不分享以下内容:

  • gradle.xml 文件,请参阅此讨论
  • 用户字典文件夹(以避免其他开发人员具有相同名称时发生冲突)
  • .idea/libraries下的 XML 文件,以防它们是从 Gradle项目生成的

传统项目格式( .ipr / .iml / .iws文件)

  • 共享项目.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

我不同意所有这些答案。 以下配置非常适合我们组织的应用程序。

我无视:

我认为几乎每个人都同意/build

我厌倦了不断看到有关 Gradle 在/.idea创建或删除的各种library.xml文件的消息。 build.gradle会在开发人员第一次签出项目时在本地运行,那么为什么这些 XML 文件需要版本化呢? 当开发人员使用Check out from Version Control创建项目时,Android Studio 还将生成/.idea的其余部分,那么为什么该文件夹中的任何内容都需要进行版本控制?

如果*.iml是版本化的,新用户必须将项目命名为与提交时完全相同的名称。 既然这也是一个生成的文件,为什么首先要版本它呢?

local.properties文件指向 SDK 文件系统上的绝对路径,因此绝对不应对其进行版本控制。

编辑 1 :添加.gradle以忽略不应版本化的 gradle 缓存内容(感谢Vasily Makarov )。

编辑 2 :添加.DS_Store现在我使用的是 Mac。 此文件夹的Mac专用,应该进行版本控制。

附加说明:您可能还想在构建发布版本时添加一个目录来放置您的签名密钥。

为了复制/粘贴方便

.gradle
/build
/.idea
*.iml
local.properties
.DS_Store 

我使用这个.gitignore。 我在以下位置找到它: http : //th4t.net/android-studio-gitignore.html

*.iml
*.iws
*.ipr
.idea/
.gradle/
local.properties

*/build/

*~
*.swp

安卓工作室 4.1.1

如果您使用 Android Studio 创建 Gradle 项目, .gitignore文件将包含以下内容:

.gitignore

*.iml
.gradle
/local.properties
/.idea/caches
/.idea/libraries
/.idea/modules.xml
/.idea/workspace.xml
/.idea/navEditor.xml
/.idea/assetWizardSettings.xml
.DS_Store
/build
/captures
.externalNativeBuild
.cxx
local.properties

我建议忽略完整的“.idea”目录,因为它包含特定于用户的配置,对于构建过程来说并不重要。

Gradle 项目文件夹

存储库克隆后,您的(Gradle)项目文件夹中唯一应该存在的就是这种结构(至少对于我目前遇到的用例而言):

app/
.git/
gradle/
build.gradle
.gitignore
gradle.properties
gradlew
gradlew.bat
settings.gradle

注意:建议按照此处所述签入 gradle 包装器脚本( gradlewgradlew.bat )。

要使其他开发人员和执行环境可以使用 Wrapper 文件,您需要将它们签入版本控制。

对于 Android Studio,唯一需要保存在版本控制中的文件是使用 gradle 从命令行构建应用程序所需的文件。 所以你可以忽略:

  • *.iml
  • 。主意
  • 建造

但是,如果您保存任何 IDE 设置,例如自定义代码样式设置,它们将保存在 .idea 文件夹中。 如果您希望在版本控制中进行这些更改,那么您还需要保存 IDEA 文件(*.iml 和 .idea)。

我的建议也是不要忽略 .idea 文件夹。

我已经将一个基于 Git 的 Eclipse 项目导入到 Android Studio 并且一切顺利。 后来,我想用 Git 将这个项目(就像第一次)导入到另一台带有 Android Studio 的机器上,但是没有用。 Android Studio 确实加载了所有文件,但无法将项目“视为”项目。 我只能打开 Git 文件。

在第一次导入项目时(从 Eclipse 到 Android Studio),我的旧 .gitignore 被覆盖,新的看起来像这样:

  • .idea/.name
  • .idea/compiler.xml
  • .idea/copyright/profiles_settings.xml
  • .idea/encodings.xml
  • .idea/libraries/libs.xml
  • .idea/misc.xml
  • .idea/modules.xml
  • .idea/scopes/scope_settings.xml
  • .idea/vcs.xml
  • .idea/workspace.xml

所以,我尝试使用一个空的 gitignore,现在它起作用了。 另一个 Android Studio 可以加载文件和项目。 我想有些文件对于 Git 和导入并不重要(profiles_settings.xml) ,但我很高兴它起作用了。

这是通过这里生成.gitignore的最佳方式

无需向源代码管理添加以下任何内容:

.idea/
.gradle/
*.iml
build/
local.properties

因此,您可以相应地配置 hgignore 或 gitignore。

开发人员第一次克隆源代码管理可以:

  1. 打开安卓工作室
  2. 导入项目
  3. 在克隆的存储库中浏览 build.gradle 并打开它

就这样

PS:Android Studio 将通过 Maven 获取 gradle 插件,假设您的 build.gradle 看起来与此类似:

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.12.2'
    }
}

allprojects {
    repositories {
        mavenCentral()
    }
}

Android studio 会生成.idea 文件夹(包括workspace.xml,因为它是生成的,所以不应该在源代码管理中)和.gradle 文件夹的内容。

这种方法对 Eclipse 友好,因为源代码管理对 Android Studio 一无所知。 Android Studio 只需要 build.gradle 来导入一个项目并生成其余的。

我支持提交 .idea 文件夹(不包括workspace.xmltasks.xml )。 但我开始得出结论,应该忽略 .iml 文件。

这是问题:

例如,在名为“foo”的目录中打开一个项目,您将获得 foo.iml,一切看起来都很好。 问题是,当您尝试在 Android Studio 中打开项目时,如果我只是将目录重命名为 foo2(或将其克隆到另一个目录名称),您将得到三样东西:

  • 一个名为 foo2.iml 的新 iml 文件
  • 您的 Android 项目的 iml 文件将更改为现在指向 foo2 作为其父项
  • .idea/modules.xml 将为 foo2.iml 添加一行,因此它既有旧的 iml 文件,也有新目录的

当项目存储在不同的目录中时,我找不到阻止 Android Studio 执行此 iml 文件生成的方法。 将它们添加到源代码管理会导致问题。 因此我认为也许我们应该忽略 *.iml 文件和.idea/modules.xml

取决于您的项目格式的维护方式:

您有两个选择:

  1. 基于目录的格式(您将拥有一个包含项目特定文件的.idea文件夹)
  2. 基于文件的格式(配置文件为.iws.ipr

参考: http : //www.jetbrains.com/idea/webhelp/project.html

提交到版本控制的文件取决于以上内容:

  1. 将 .idea 文件夹包含到版本控制中,排除workspace.xmltasks.xml
  2. 版本控制.ipr文件和所有.iml模块文件,排除.iws文件,因为它存储用户特定的设置。

参考: https : //intellij-support.jetbrains.com/entries/23393067

使用 Android Studio 3.0 测试

您可能需要安装.ignore插件。

您可以为 Android 自动生成 .gitignore 文件。 右键单击文件夹并按照

添加 .gitignore 文件

然后从左侧面板中选择 Android 并单击生成

生成 .gitignore 文件

Android Studio 将生成 .gitignore 文件,其中包含所有需要忽略的文件。

取自http://menukanows.com/how-to-add-gitignore-file-in-android-project/

基本上是自动重新生成的任何文件。

一个很好的测试是克隆您的 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/

我很喜欢添加 .iml 文件和 Intellij sez 来添加 .idea 文件夹,但忽略 .idea/workspace.xml 和 .idea/tasks.xml,但是 .idea/libraries/ 呢?

我不明白添加这个有什么意义。 它有一个 XML 文件列表,其中列出了 Android Studio 项目应该知道的库。 这些应该来自 build.gradle 定义的依赖项——而不是 IDE 项目文件。

这些文件之一的内容也如下所示:

<component name="libraryTable">
    <CLASSES>
       <root url="jar://$USER_HOME$/.gradle/caches/artifacts-26/filestore/com.example/example/etc...jar!"/>

提交这个没有意义。 如果用户为 gradle 指定了不同的主目录,或者如果他们使用不同的 gradle 版本,那么.gradle/caches/artifacts-xxx下的路径对他们来说将是不同的(即artifacts-末尾附加的数字将与您正在使用的 gradle 版本相关。)这些路径不是通用的,但建议是检查所有这些?

从 Android Studio 0.8.4 开始,启动新项目时会自动生成.gitignore文件。 默认情况下,它包含:

.gradle
/local.properties
/.idea/workspace.xml
/.idea/libraries
.DS_Store
/build

我知道这是一个古老的话题,当然有很多选择,但我真的更喜欢 Simon Whitaker 的gibo 它使用起来非常简单,跨平台(mac、*nix 和 windows),并且使用 github gitignore库,因此它(基本上)始终是最新的。

确保您的本地缓存是最新的:

    $ 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 可以让您几乎不必再考虑“问题”了! .. 这真好! ;)

为了获得更好的想法,您只需要以下文件

  • 应用程序
  • 构建.gradle
  • 设置.gradle

基本的Android项目结构

您可以将其他所有内容都放在 .gitignore 文件中。 您的所有应用程序更改主要位于这些文件和文件夹中。 您在基本项目中看到的其余部分是 gradle 构建文件或 Android Studio 配置文件。

如果您使用的是 Android Studio,则可以使用“导入项目”来成功构建项目。 或者,您可以使用命令行构建,请遵循使用 Gradle 构建 Android 项目

最好在整个开发过程中添加 .gitignore 列表,以防止由于某处的预定义(复制/粘贴)列表而导致版本控制因某种原因无法工作时出现未知的副作用。 对于我的一个项目,忽略列表仅包括:

.gradle
.idea
libs
obj
build
*.log

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/libraries

# Keystore files
*.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

github中的Android Gitignore

使用gitignore.io提供的api,可以得到自动生成。 这是直接链接也是gitignore.io/api/androidstudio

### AndroidStudio ###
# Covers files to be ignored for android development using Android Studio.

# Built application files
*.apk
*.ap_

# Files for the ART/Dalvik VM
*.dex

# Java class files
*.class

# Generated files
bin/
gen/
out/

# Gradle files
.gradle
.gradle/
build/

# Signing files
.signing/

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

# Proguard folder generated by Eclipse
proguard/

# Log Files
*.log

# Android Studio
/*/build/
/*/local.properties
/*/out
/*/*/build
/*/*/production
captures/
.navigation/
*.ipr
*~
*.swp

# Android Patch
gen-external-apklibs

# External native build folder generated in Android Studio 2.2 and later
.externalNativeBuild

# NDK
obj/

# IntelliJ IDEA
*.iml
*.iws
/out/

# User-specific configurations
.idea/caches/
.idea/libraries/
.idea/shelf/
.idea/workspace.xml
.idea/tasks.xml
.idea/.name
.idea/compiler.xml
.idea/copyright/profiles_settings.xml
.idea/encodings.xml
.idea/misc.xml
.idea/modules.xml
.idea/scopes/scope_settings.xml
.idea/dictionaries
.idea/vcs.xml
.idea/jsLibraryMappings.xml
.idea/datasources.xml
.idea/dataSources.ids
.idea/sqlDataSources.xml
.idea/dynamic.xml
.idea/uiDesigner.xml
.idea/assetWizardSettings.xml

# OS-specific files
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db

# Legacy Eclipse project files
.classpath
.project
.cproject
.settings/

# Mobile Tools for Java (J2ME)
.mtj.tmp/

# Package Files #
*.war
*.ear

# virtual machine crash logs (Reference: http://www.java.com/en/download/help/error_hotspot.xml)
hs_err_pid*

## Plugin-specific files:

# mpeltonen/sbt-idea plugin
.idea_modules/

# JIRA plugin
atlassian-ide-plugin.xml

# Mongo Explorer plugin
.idea/mongoSettings.xml

# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
fabric.properties

### AndroidStudio Patch ###

!/gradle/wrapper/gradle-wrapper.jar

# End of https://www.gitignore.io/api/androidstudio

我合并 Github .gitignore 文件

### Github Android.gitignore ### 

# 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

# Android Studio Navigation editor temp files
.navigation/

# Android Studio captures folder
captures/

### Github JetBrains.gitignore ### 

# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio

*.iml

## Directory-based project format:
.idea/
# if you remove the above rule, at least ignore the following:

# User-specific stuff:
# .idea/workspace.xml
# .idea/tasks.xml
# .idea/dictionaries

# Sensitive or high-churn files:
# .idea/dataSources.ids
# .idea/dataSources.xml
# .idea/sqlDataSources.xml
# .idea/dynamic.xml
# .idea/uiDesigner.xml

# Gradle:
# .idea/gradle.xml
# .idea/libraries

# Mongo Explorer plugin:
# .idea/mongoSettings.xml

## File-based project format:
*.ipr
*.iws

## Plugin-specific files:

# IntelliJ
/out/

# mpeltonen/sbt-idea plugin
.idea_modules/

# JIRA plugin
atlassian-ide-plugin.xml

# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties

请阅读: JetBrains 支持:如何在版本控制系统下管理项目

从 Android Studio 0.8.4 开始,启动新项目时会自动生成 .gitignore 文件。 默认情况下,它包含:

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

我同意这个说法,但是我修改了这个文件以将 /build 更改为 build/(这将包括 /build 和 /app/build)所以我最终不会在我的存储库中使用 app/build 中的所有文件。

另请注意,如果您从 Eclipse 导入项目,则不会复制 .gitignore 或“自动”为您创建。

安卓工作室 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

这是使用http://gitignore.io/的参考创建的,您可以在其中为任何项目创建最新更新的 gitignore 文件。 对于 Android http://gitignore.io/api/androidstudio 希望这可以帮助。 目前我使用的是 Android Studio 3.6.3

# Created by https://www.gitignore.io/api/androidstudio
# Edit at https://www.gitignore.io/?templates=androidstudio

### AndroidStudio ###
# Covers files to be ignored for android development using Android Studio.

# Built application files
*.apk
*.ap_

# Files for the ART/Dalvik VM
*.dex

# Java class files
*.class

# Generated files
bin/
gen/
out/

# Gradle files
.gradle
.gradle/
build/

# Signing files
.signing/

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

# Proguard folder generated by Eclipse
proguard/

# Log Files
*.log

# Android Studio
/*/build/
/*/local.properties
/*/out
/*/*/build
/*/*/production
captures/
.navigation/
*.ipr
*~
*.swp

# Android Patch
gen-external-apklibs

# External native build folder generated in Android Studio 2.2 and later
.externalNativeBuild

# NDK
obj/

# IntelliJ IDEA
*.iml
*.iws
/out/

# User-specific configurations
.idea/caches/
.idea/libraries/
.idea/shelf/
.idea/workspace.xml
.idea/tasks.xml
.idea/.name
.idea/compiler.xml
.idea/copyright/profiles_settings.xml
.idea/encodings.xml
.idea/misc.xml
.idea/modules.xml
.idea/scopes/scope_settings.xml
.idea/dictionaries
.idea/vcs.xml
.idea/jsLibraryMappings.xml
.idea/datasources.xml
.idea/dataSources.ids
.idea/sqlDataSources.xml
.idea/dynamic.xml
.idea/uiDesigner.xml
.idea/assetWizardSettings.xml

# OS-specific files
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db

# Legacy Eclipse project files
.classpath
.project
.cproject
.settings/

# Mobile Tools for Java (J2ME)
.mtj.tmp/

# Package Files #
*.war
*.ear

# virtual machine crash logs (Reference: http://www.java.com/en/download/help/error_hotspot.xml)
hs_err_pid*

## Plugin-specific files:

# mpeltonen/sbt-idea plugin
.idea_modules/

# JIRA plugin
atlassian-ide-plugin.xml

# Mongo Explorer plugin
.idea/mongoSettings.xml

# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
fabric.properties

### AndroidStudio Patch ###

!/gradle/wrapper/gradle-wrapper.jar

# End of https://www.gitignore.io/api/androidstudio

汇编:

#built application files
*.apk
*.ap_

# files for the dex VM
*.dex

# Java class files
*.class

# generated files
bin/
gen/

# Gradle files
.gradle/
build/
/*/build/

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

# Proguard folder generated by Eclipse
proguard/

# Log Files
*.log

# Windows thumbnail db
Thumbs.db

# OSX files
.DS_Store

# Eclipse project files
.classpath
.project

# Android Studio
*.iml
.idea
#.idea/workspace.xml - remove # and delete .idea if it better suit your needs.
.gradle
build/

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

为了避免导入所有文件,其中 Android Studio 忽略“忽略的文件”列表,但仍利用 Android Studio VCS,我执行了以下操作:这将使用 Android Studio 中的“忽略的文件”列表(导入后!不在期间)并且避免使用 Tortoise SVN 设置 svn:ignore 列表的繁琐方式。

  1. 使用 Tortoise SVN 存储库浏览器直接在存储库中创建一个新的项目文件夹。
  2. 使用 Tortoise SVN 在要导入的文件夹顶部签出新文件夹。 您将收到本地文件夹不为空的警告。 忽略警告。 现在您有一个包含未版本化内容的版本化顶级文件夹。
  3. 从本地工作目录打开您的项目。 现在应该自动启用 VCS
  4. 在 File -> Settings -> Version Control -> Ignored Files 中设置文件例外
  5. 从 Android Studio 添加文件到 SVN:在 Project Structure -> VCS -> Add to VCS 中选择“App”(这将添加所有文件,除了“Ignored Files”)
  6. 提交更改

以后,“忽略的文件”将被忽略,您仍然可以从 Android Studio 管理 VCS。

干杯,-Joost

从JetBrains的官方支持文件说,以下应包括:

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

它还提供了其他需要注意的事项的建议。

.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

我在忽略构建文件时遇到了问题,但这似乎可行:-)

# 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

# Android Studio
.idea/
.gradle
/*/local.properties
/*/out
/*/*/build
/*/*/production
*.iml
*.iws
*.ipr
*~
*.swp

*/build
*/production
*/local.properties
*/out

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM