Weitere ähnliche Inhalte Ähnlich wie 20161125 Unity-Android連携の発表資料 (20) 20161125 Unity-Android連携の発表資料10. 2-1. Android Studioの基礎知識
・Gradle というビルドシステムを使う
・ApplicationとModuleのどちらかを作ることができる
Application : 従来のapk形式のアプリケーション
Module : 他から呼び出すために機能をまとめたもの
Unityで使うには、Module化するとよい
12. 2-2. Android Studio側の準備 (2/5)
・Unityのライブラリ “classes.jar”をインポート
Macの場合
/アプリケーション/Unity/PlaybackEngine/
AndroidPlayer/Variations/mono/Release/
Classes/classes.jar
Windowsの場合
C:¥Program Files¥Unity¥Editor¥Data/
PlaybackEngines/AndroidPlayer/
Varitations/mono/Release/
Classes/classes.jar
13. 2-2. Android Studio側の準備 (3/5)
・build.gradleを修正
https://gist.github.com/flushpot1125/4d8aba4519264552b097807fb041a2cf
ソースコードの依存関係に
classes.jarを追加
ビルド対象からclasses.jar
を除く(同⼀名称の重複を
避けるため)
14. 2-2. Android Studio側の準備 (4/5)
・ソースコードを記述
Unity側にコールバック
したいメソッドは独⾃
ルールに従って書く
https://gist.github.com/flushpot1125/084d8d4a6cb21d80ee96273130d3a6ca
専⽤のAPI Unity側のobject名
Unity側のメソッド名, 引数
15. 2-2. Android Studio側の準備 (5/5)
・gradleの⽂法に沿ってビルド
./gradlew :nativeplugin:clean :nativeplugin:assembleRelease
Module名 aar⽣成
・jarを取り出してUnityで使⽤
Android Studioのプロジェクトトップ /module名 / build / indermediates /
bundles / classes.jar
詳細⼿順、サンプルプロジェクトは下記を参照ください。
http://magicbullet.hatenablog.jp/entry/UnityAndroid-plugin1
23. 3-3. ノウハウ (1) Android Manifestファイルの変更
Unity側のPlugins/Androidに配置し、必要な設定を追加。
(例:permission)
Macの場合
/アプリケーション/Unity/PlaybackEngine/
AndroidPlayer/AndroidManifest.xml
Windowsの場合
C:¥Program Files¥Unity¥Editor¥Data/
PlaybackEngines/AndroidPlayer/
AndroidManifest.xml
24. 3-3. ノウハウ (2) C/C++ライブラリの追加
拡張⼦soファイル(C/C++でビルドされたもの)がAndroid側に
あるときは、下記のフォルダ構成を作って、armeabi-v7a
フォルダに⼊れる。
ファイル名が変わると認識されないので
注意!
25. 3-3. ノウハウ (3) サービス化
元々Activityがあって⾃⼰完結しているサンプルコードの場合、
Bind Serviceという⽅法を使って、バックグラウンドで動かす。
Activity
その他
ライブラリ
サンプルコードの構成
service
その他
ライブラリ
Unityで作る場合の構成
Unity C#
Bind Service
28. 4-2. その他 (1/3)
Cognitive ServiceのBing Speech API(⾳声認識)の
AndroidサンプルをUnityで使えるようにしてみました。
https://azure.microsoft.com/ja-jp/services/cognitive-services/speech/