Android Studioプロジェクトの場合、.gitignore
にどんなファイルが必要ですか?
すべてに.iml
を含む例がいくつかありますが、IntelliJのドキュメントでは.iml
をソース管理に含める必要があると言っています。
Android Studio 3.0にアップデートしました コメントに不足している項目を共有してください。
返事が遅れていますが、ここでの回答も here での回答もありませんでした...
だから、これは私たちのgitignoreファイルです:
#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
# 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以降では、コミットして * .iml および build.gradle filesをプッシュできるようになります。プロジェクトがGradle:に基づいている場合は、新しい開く/インポートダイアログで、"use auto import"
チェックボックスをオンにして"use default gradle wrapper (recommended)"
ラジオボタンをオンにします。 @Georgeが示唆したように、すべてのパスは相対パスです。
@ 128KB 添付ソース および@Skelaの提案に従って回答を更新しました
私の通常のAndroid .gitignore 上で構築し、Intellij IDEA Webサイト上のドキュメントを読み、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
また、指摘したように、 build native files セクションは、Android NDKを使用して独自のネイティブコードを構築する場合に主に役立ちます。一方、これらのファイルを含むサードパーティのライブラリを使用している場合は、.gitignoreからこれらの行(* .oと* .so)を削除することをお勧めします。
2015年7月7日更新:
このフォーマットは、デフォルトで最近のすべてのIDEバージョンで使用されています。これがあなたが共有する必要があるものです:
.idea
ディレクトリ配下のすべてのファイルを除く、ユーザー固有の設定を格納するworkspace.xml
およびtasks.xml
ファイル.iml
モジュールファイル(IntelliJ IDEAに適用)次のことを共有することについて 注意してください。
dataSources.ids
では、datasources.xml
にデータベースパスワードを含めることができます。 IDEA 14 この問題を解決しました 。あなたは以下を共有しないと考えるかもしれません:
.idea/libraries
の下のXMLファイル project従来のプロジェクトフォーマット(.ipr
/.iml
/.iws
ファイル)
.ipr
ファイルとすべての.iml
モジュールファイルを共有します。 共有しない .iws
ファイルにはユーザー固有の設定が保存されます。これらの説明はIntelliJ IDEAのためのものですが、Android Studioには100%当てはまります。
上記のルールをすべて組み込んだ.gitignore
スニペットは次のとおりです。
# Android Studio / IntelliJ IDEA
*.iws
.idea/libraries
.idea/tasks.xml
.idea/vcs.xml
.idea/workspace.xml
私はこれらすべての答えに同意しません。次の構成は、組織のアプリに最適です。
私は無視します:
/build
/.idea
(例外の可能性がある場合は、 dalewking's answer のコメントを参照してください)*.iml
local.properties
ほとんどの人が/build
について同意していると思います。
Gradleがlibrary.xml
で作成または削除するさまざまな/.idea
ファイルに関するメッセージが常に表示されることにうんざりしました。 build.gradle
は、プロジェクトを最初にチェックアウトするときに開発者のローカルで実行されますが、これらのXMLファイルをバージョン管理する必要があるのはなぜですか? Android Studioは、開発者が/.idea
を使用してプロジェクトを作成するときに、残りのCheck out from Version Control
も生成します。そのため、そのフォルダー内の何かをバージョン管理する必要があるのはなぜですか?
*.iml
がバージョン管理されている場合、新規ユーザーはプロジェクトがコミットされたときとまったく同じ名前を付ける必要があります。これも生成されたファイルなので、そもそもバージョン管理するのはなぜですか?
local.properties
ファイルは、SDKのファイルシステム上の絶対パスを指しているため、バージョン管理は絶対にしないでください。
編集1:.gradle
を追加して、バージョン管理すべきではないgradleキャッシングを無視します(ありがとう Vasily Makarov ) 。
Edit 2:Macを使用しているので、.DS_Store
を追加しました。このフォルダーはMac固有であり、バージョン管理されていません。
追記:リリースバージョンをビルドするときに、署名キーを入れるディレクトリを追加することもできます。
コピー/貼り付けの便宜のため:
.gradle
/build
/.idea
*.iml
local.properties
.DS_Store
私はこれを使用します。私はそれを見つけた: http://th4t.net/Android-studio-gitignore.html
*.iml
*.iws
*.ipr
.idea/
.gradle/
local.properties
*/build/
*~
*.swp
Android Studioの場合、バージョン管理で保存する必要があるのは、gradleを使用してコマンドラインからアプリケーションをビルドするのに必要なファイルだけです。だからあなたは無視することができます:
ただし、カスタムコードスタイル設定などのIDE設定を保存すると、それらは.ideaフォルダに保存されます。これらの変更をバージョン管理で使用したい場合は、IDEAファイルも保存します(* .imlと.idea)。
また、.ideaフォルダーを無視しないことをお勧めします。
GitベースのEclipseプロジェクトをAndroid Studioにインポートしましたが、うまくいきました。後で、Gitを使用して(初めてのように)このプロジェクトをAndroid Studioを使用する別のマシンにインポートしたかったのですが、うまくいきませんでした。 Android Studioはすべてのファイルをロードしましたが、プロジェクトをプロジェクトとして「見る」ことができませんでした。 Gitファイルしか開けませんでした。
プロジェクトを初めて(EclipseからAndroid Studioに)インポートするときに、古い.gitignoreは上書きされ、新しいものは次のようになりました。
そこで、空のgitignoreを使用しようとしましたが、今では機能しました。他のAndroid Studioは、ファイルとプロジェクトをロードできます。いくつかのファイルはGitとインポートにとって重要ではありません(profiles_settings.xml)
と思いますが、うまくいったのは嬉しいことです。
Android Studioを使用してGradleプロジェクトを作成した場合、.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
ユーザー固有の設定が含まれているため、完全な ".idea"ディレクトリを無視することをお勧めします。ビルドプロセスには重要ではありません。
リポジトリのクローン作成後に(Gradleの)プロジェクトフォルダにあるべき唯一のものはこの構造です(少なくともこれまでに遭遇したユースケースでは)。
app/
.git/
gradle/
build.gradle
.gitignore
gradle.properties
gradlew
gradle.bat
settings.gradle
グラドルラッパースクリプトをチェックインすることをお勧めします( ここ を参照)。
Wrapperファイルを他の開発者や実行環境で利用できるようにするには、それらをバージョン管理にチェックインする必要があります。
here で.gitignore
を生成するのが最良の方法です。
.ideaフォルダのコミットをサポートします(workspace.xml
とtasks.xml
を除く)。しかし、私は.imlファイルは無視されるべきであるという結論に至り始めています。
これが問題です。
たとえば、 "foo"という名前のディレクトリでプロジェクトを開くと、foo.imlが表示されます。問題は、Android Studioでプロジェクトを開こうとしたときにディレクトリの名前を単にfoo2に変更する(または別のディレクトリ名に複製する)と、3つのことが起こることです。
プロジェクトが別のディレクトリに保存されているときに、Android Studioがこのimlファイル生成を行わないようにする方法はありません。これらをソース管理に追加すると問題が発生します。したがって、*。imlファイルと.idea/modules.xml
は無視する必要があると思います。
以下のいずれかをソース管理に追加する必要はありません。
.idea/
.gradle/
*.iml
build/
local.properties
だからあなたはそれに応じてhgignoreまたはgitignoreを設定することができます。
開発者が初めてソース管理を複製するときは、次のことが可能です。
それで全部です
PS:Android Studioは、mavenを通して、build.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フォルダの内容を生成します。
このアプローチは、ソース管理がAndroid Studioについて実際には何も知らないという点でEclipseに優しいものです。 Android Studioは、プロジェクトをインポートして残りを生成するためにbuild.gradleを必要とするだけです。
Android Studio 3.0でテスト済み
.ignore pluginをインストールする必要があるかもしれません。
Android用の.gitignoreファイルを自動生成できます。フォルダを右クリックして従ってください
次に左パネルからAndroidを選択し、 生成 をクリックします。
Android Studioは無視する必要があるすべてのファイルを含む.gitignoreファイルを生成します。
http://menukanows.com/how-to-add-gitignore-file-in-Android-project/ から取得
プロジェクトの形式がどのように維持されているかによって異なります。
2つの選択肢があります。
.idea
フォルダがあります).iws
と.ipr
です)参照: http://www.jetbrains.com/idea/webhelp/project.html
バージョン管理用にコミットされたファイルは、上記によって異なります。
workspace.xml
とtasks.xml
を除外する.ipr
ファイルおよびすべての.iml
モジュールファイルは、ユーザー固有の設定を格納するため、.iws
ファイルを除外します。自動的に再生成される基本的にすべてのファイル。
良いテストはあなたのリポジトリを複製し、Android Studioがあなたのプロジェクトをすぐに解釈し実行することができるかどうかを確かめることです(足りないものを生成する)。
そうでない場合は、足りないものを見つけ、それが無視されていないがレポに追加されていること)を確認してください。
そうは言っても、 Androidのもの のように、既存の.gitignore
ファイルを例にとることができます。
# 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 0.8.4以降、新しいプロジェクトを起動すると.gitignore
ファイルが自動的に生成されます。デフォルトでは含まれています:
.gradle
/local.properties
/.idea/workspace.xml
/.idea/libraries
.DS_Store
/build
私は.idelフォルダを追加するために.imlファイルとIntellij sezを追加することをお勧めしますが、.idea/workspace.xmlと.idea/tasks.xmlを無視します。
これを追加しても意味がないと思います。これは、Android Studioプロジェクトが知っているはずのライブラリーをリストするXMLファイルのリストを持っています。これらは、IDEプロジェクトファイルではなく、build.gradleで定義された依存関係に由来しているはずです。
これらのファイルの1つの内容もこのようになります。
<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バージョンのリリースに関連します)。これらのパスは普遍的ではありませんが、それでもアドバイスはこれをすべてチェックインすることですか。
これは古い話題であり、確かにたくさんの選択肢があることを私は知っていますが、私は本当に gibo
Simon Whitakerによる/を好みます。クロスプラットフォーム(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ファイルに追加するには、必ず>>
を使用してください。偶然に何度も行ったように、1つの>
で上書きされます。)
これはOPの正確な質問に答えるものではないことを私は知っていますが、giboを使用することでそれが可能になるので、もう「質問」について考える必要がなくなります。 .. いいね! ;)
より良いアイデアを得るために、あなたが必要とするのは以下のファイルだけです。
他のすべてを.gitignoreファイルに入れることができます。アプリの変更点はすべて、主にこれらのファイルとフォルダにあります。基本プロジェクトに表示される残りの部分は、グラドルビルドファイルまたはAndroid Studio設定ファイルです。
Android Studioを使用している場合は、「プロジェクトのインポート」を使用してプロジェクトを正常にビルドできます。あるいは、コマンドラインを使ってビルドすることもできます。 Gradleを使ってAndroidプロジェクトをビルドする に従ってください。
どこかからの定義済み(コピー/貼り付け)リストが原因でバージョン管理が何らかの理由で機能しない場合、未知の副作用を防ぐために、開発時まで.gitignoreリストを追加するのが最善です。私のプロジェクトの1つでは、無視リストは以下のものだけです。
.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の.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
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はコピーされず、「自動的に」作成されることもありません。
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
コンパイル:
#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が「Ignored Files」リストを無視してもAndroid Studio VCSを利用するすべてのファイルのインポートを回避するために、次のようにしました。これは、Android Studioの「Ignored Files」リストを使用します。そしてTortoise SVNがsvn:ignoreリストを設定するという面倒な方法を使わなくてもよくなります。
今後は、「無視されたファイル」は無視され、Android StudioからVCSを管理できます。
乾杯、 - 最悪