什么文件应该在我的。gitignore为一个Android工作室项目?

我见过几个包含。iml的例子,但是IntelliJ文档说。iml必须包含在你的源代码控制中。


当前回答

.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

其他回答

不需要在源代码控件中添加以下任何内容:

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

所以你可以相应地配置hgignore或gitignore。

开发人员第一次克隆源代码控件时可以这样做:

Open Android Studio 导入项目 浏览构建。Gradle在克隆的存储库中并打开它

这是所有

PS: Android Studio将通过maven获得gradle插件,假设您的构建。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只需要构建。Gradle导入项目并生成其余部分。

更新到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建议更新了答案

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

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

安卓Gitignore在github

为了更好地理解,您只需要以下文件

应用程序 build.gradle settings.gradle

您可以将其他所有内容放在.gitignore文件中。你所有的应用变化都在这些文件和文件夹中。你在基本项目中看到的其他文件是gradle构建文件或Android Studio配置文件。

如果你正在使用Android Studio,你可以使用“Import project”来成功构建项目。或者你也可以使用命令行构建,使用Gradle构建Android项目。