質問: 経緯 -- ###### 行ったこと AndroidAStudioでアプリを開発中に、GitHubでソースコードを公開してみようと思い、AndroidStudio内からGitをインストールし、持っていたGitHubのアカウントと連携しました。 事前にあった知識がGitHubでソースコードのバージョン管理が出来るということぐらいしかわかっておらず、何となく英語を読みながらリポジトリを設定し、コミットやマージを行いました。 VCS Operation Popupから実行したり、ツールバーにあるボタンからUpdate ProjectやCommitを行ったりしました。 これらはすべてAndroidStudioのアプリケーションから実行し、Gitのコマンドラインは使っていません。 ###### 起こった変化 GitHubのアカウントと、開発していたアプリのソースコードを紐づけることはできましたが、今まで編集していたlayoutファイルや画像データがフラット変換され、移動していたり、assetフォルダーに入れていた音声ファイルがよくわからないところに移動していたりしました。 フラット変換されたファイルを編集する方法も分かりません。 buildしても、Task 'assemble' not found in root project 'アプリ名'.と言われ、様々なところが変化しているようです。 ###### 音声ファイルのファイルパス | マージ前 | アプリ名\app\src\main\assets\音声ファイル.mp3 | | --- | --- | | マージ後 | アプリ名\app\build\intermediates\merged_assets\debug\mergeDebugAssets\out\音声ファイル.mp3 | ###### レイアウトファイルのファイルパス | マージ前 | アプリ名\app\src\main\res\layout\レイアウトファイル.xml | | --- | --- | | マージ後 | アプリ名\app\build\intermediates\res\merged\debug\レイアウトファイル.xml.flat | 質問内容 ---- 1. このような変化はマージしたことで起こっているのか? 2. フラットファイルの開き方、戻し方 無理にテキストデータとして開いたところ、アルファベットなどは正しく表示されたが<や/などの記号は文字化けしていた。 開発時の文字コードUTF-8で、マージ後もUTF-8で開いてみた 3. プロジェクト自体をマージする前の状態に戻す方法 これらのどれか一つでも教えていただけたら大変ありがたいです。 調べて分かったこと --------- 拡張子.flatはテキストファイルであり、layoutファイルなどの他のリソースは消えたわけではない mergedという名のフォルダーにlayoutファイルなどがあったことから、Gitでmergeをしたことが原因か? 調べてもAndroidStudioのGitHubと連携する方法しか出てこず、困っています。 マージに対する認識は、複数のバージョンを結合するためであって、1種類しかバージョンが存在しないときは特に問題は発生しないと軽く考えてしまい、このようなことになりました。 バージョンなど ------- AndroidStudio 3.3 Android Emulator revision 28.0.25 Android SDK Platform-Tools revision 28.0.2
回答: 起きている現象に関してはわかりませんが。 AndroidStudioのbuildディレクトリとは、apkファイルを生成する際にできる作業ディレクトリです。 このような作業ディレクトリは、一般的にはバージョン管理には含めません。 gitで言えば、`.gitignore`というファイルにそれらのファイル・ディレクトリを記述し、gitで無視するように設定します。 ちょっとその説明は長くなるので、まずは「android studio gitignore」で検索してみてください。 今起きている現象については、さっきも言ったとおりbuildディレクトリは作業ディレクトリに過ぎないので、削除する...のが怖いのであれば名前を変更して、ビルドし直してみてください。