2015年4月13日月曜日

Android StudioとUnityで一緒に開発する方法

今日はAndroid StudioとUnity両方で開発する方法を伝えます。

私の環境は次の内容です。
Unity 4.6.2f1
Android Studio 1.1.0

まずはUnityで次の作業を実施してください。

1. Build Settings (Ctrl + Shift + B)を開く
2. PlatformでAndroidを選んでSwitch Platformをクリック
3. Google Android Projectのチェックボックスにチェックを入れる
4. Exportをクリックしてフォルダを選択する。



上記を行うことで次の内容のフォルダが出力されます。

出力フォルダ
│  AndroidManifest.xml
│  project.properties

├─assets
│  └─bin
├─libs
│  │  QCARUnityPlayer.jar
│  │  unity-classes.jar
│  │  Vuforia.jar
│  │
│  └─armeabi-v7a
│        
├─res
│  ├─drawable
│  │      app_icon.png
│  │    
│  └─values
│          strings.xml
│        
└─src
    └─Javaパッケージ

※ 「libs/armeabi-v7a」は環境によって異なると思います。

ここからAndroid Studioに反映していきます。
Android Studioのプロジェクトが次のようになっていると思います。
存在しないフォルダがある場合は手動で作成してください。
※ assets,jniLibsあたりが無いかもしれません。

Android Studio
├─.gradle
├─.idea
├─app
│  ├─libs
│  └─src
│      ├─androidTest
│      └─main
│          ├─assets
│          ├─java
│          ├─jniLibs
│          └─res
├─build
└─gradle


1. Unity側の「assets」をAndroid Studioの「app/src/main/assets」にコピーする。
2. Unity側の「libs/*.jar」をAndroid Studioの「app/libs」にコピーする
3. Unity側の「libs/armeabi-v7a」をAndroid Studioの「app/src/main/jniLibs」にコピーする。
   ※「armeabi-v7a」以外にもフォルダがあった場合はそのフォルダもコピーしてください。
4. Unity側の「res」配下の内容をAndroid Studioの内容とマージする。
5. Unity側のAndroidManifest.xmlとAndroid Studioの内容とマージする。
6. Unity側の「Javaパッケージ」を「app/src/main/java」にコピーする。


あとは「UnityPlayerNativeActivity」を継承した独自のActivityを作成したり、
直接「UnityPlayerNativeActivity」を修正したりしてActivityを開発してください。
一度ここまで行ってしまえば、
Unity側を更新した際は、
「assets/bin」を置き換えるだけでUnity側の内容が更新されます。
※ 念のため、Android Studionの「assets/bin」を削除した後、コピーしてください。

それでは楽しいAndroid, Unityライフを