什么文件应该在我的。gitignore为一个Android工作室项目?
我见过几个包含。iml的例子,但是IntelliJ文档说。iml必须包含在你的源代码控制中。
什么文件应该在我的。gitignore为一个Android工作室项目?
我见过几个包含。iml的例子,但是IntelliJ文档说。iml必须包含在你的源代码控制中。
当前回答
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
其他回答
Android Studio Chipmunk 2021.2.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
我建议忽略完整的”。目录,因为它包含特定于用户的配置,对于构建过程没有什么重要的。
Gradle项目文件夹
在存储库克隆之后,你的(Gradle)项目文件夹中唯一应该存在的东西是这样的结构(至少对于我目前遇到的用例来说是这样的):
app/
.git/
gradle/
build.gradle
.gitignore
gradle.properties
gradlew
gradlew.bat
settings.gradle
注意:建议像这里描述的那样签入gradle包装器脚本(gradlew, gradlew.bat)。
要使Wrapper文件对其他开发人员和执行环境可用,您需要将它们检入版本控制。
基本上是自动重新生成的任何文件。
一个很好的测试是克隆你的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/
更新到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建议更新了答案
不需要在源代码控件中添加以下任何内容:
.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导入项目并生成其余部分。
取决于你的项目格式是如何维护的:
你有两个选择:
基于目录的格式(您将有一个.idea文件夹,其中包含 项目特定文件) 基于文件的格式(配置文件为。iws和。ipr)
裁判: http://www.jetbrains.com/idea/webhelp/project.html
提交给版本控制的文件依赖于上述:
包括。idea文件夹到版本控制,排除workspace.xml和 tasks.xml 版本控制的.ipr文件和所有的.iml模块文件,排除 iws文件,因为它存储了用户特定的设置。
裁判: https://intellij-support.jetbrains.com/entries/23393067