Android開発でGitを使った場合に気をつける点

EeeBOXにGitサーバが設定できたのでubuntu側でAndroidSDKからインポートした
Google play servicesのmapサンプルをputしてWindows側でpullしたらはまった話。

  • 環境
  • 原因
  • 解決方法

環境

ubuntu ubuntu10.04.3LTS(GNU/Linux 3.2.0-57-generic x86_64)
java oracle-java 1.7.0_45
sdk path /opt/android-studio/sdk/
workscape /home/tackn/develop/adt/workspace
git /home/tackn/git/SampleProject/MainActivity

変更前

windows Microsoft Windows 8 Pro 64bit
java oracle-java 1.7.0_45
sdk path D:\android\adt\sdk
workscape R:\workspace
git C:\Users\tackn\git\SampleProject\MainActivity
  • 容量の小さいSSDのCドライブには出来るだけ置かず、HDDのドライブを利用
  • RはRAMディスクで少しでも動作を速くしようとしていました。

変更後

windows Microsoft Windows 8 Pro 64bit
java oracle-java 1.7.0_45
sdk path D:\android\adt\sdk
workscape D:\work\develop\workspace
git D:\work\git\SampleProject\MainActivity

原因

いろいろ試しましたが、主な原因はubuntuには"/"が有って、windowsには"/"が無いという事でした。

  1. Git管理下にするとworkspaceからgit管理領域へプロジェクトが移動する
  2. Google play servicesという参照サービスが相対パスなのでエラーになる
  3. Android Support Toolsというのをandroid 2.2でFragment対応の為にいれるのだが,Git管理下にするときにlibsフォルダが移動せずに参照出来なくなる。

解決方法

ファイルが移動していることに気がつかずプロジェクトのプロパティの設定のみに注視していました。
ubuntu側でもチェックすると同様にgit配下へ移動のためライブラリの参照が切れていましたが、設定すれば
それ以降は問題ありませんでした。

パスが変化していることに気がついたのと、参照プロジェクトの指定が開き直すと相対パスになって居ることに気がつき
Windows側でも作業ドライブを決めてライブラリの相対参照が出来る様にしたところコンパイルが通る様になりました。


WindowsのC:\ドライブで開発されている方には無縁だと思いますが、いくつかのドライブを使い分けている場合

  • 参照があるとリンクが切れてしまう点
  • Gitのリポジトリがデフォルトではhome配下になってしまうので別ドライブで開発していると意図せず別ドライブ参照になる点

今後気をつけたいと思います。