環境
OS X Mavericks 10.9.4
Android Studio (Beta) 0.8.2
Unity 4.5.2f1
空のプロジェクトを作成
Android Studioで[Add No Activity]を選択して空のプロジェクトを作成。
jarファイルの追加
classes.jarファイルをプロジェクトのlibsフォルダにコピー。
Macの場合のパス
<Unityインストールディレクトリ>/Unity.app/Contents/PlaybackEngines/AndroidPlayer/release/bin/classes.jar
android.jarファイルをプロジェクトのlibsフォルダにコピー。
パス
<Android SDK Root>/platforms/android-19/android.jar
※今回はAndroid 4.4のjarを使用
Sync Project with Gradle Files
Native Plugin側のコード
<Project Root>/app/src/main/java/<Package Name>/配下にJava Classを新規作成。
適当にToastを表示するだけのプラグインを作成。
package com.example.unityplugin;
import android.app.Activity;
import android.widget.Toast;
import com.unity3d.player.UnityPlayer;
public class AndroidNative {
public static void showToast() {
final Activity activity = UnityPlayer.currentActivity;
activity.runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(activity, "Hello Native Plugin!", Toast.LENGTH_SHORT).show();
}
});
}
}
build.gradleの編集
// apply plugin: 'com.android.application'
apply plugin: 'java'
jar.baseName = 'android-native-plugin'
version = '1.0.0'
//android {
// compileSdkVersion 20
// buildToolsVersion "20.0.0"
//
// defaultConfig {
// applicationId "com.example.unityplugin"
// minSdkVersion 15
// targetSdkVersion 20
// versionCode 1
// versionName "1.0"
// }
// buildTypes {
// release {
// runProguard false
// proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
// }
// }
//}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
}
jarファイルの作成
Android StudioのTerminalを開き下記のコマンドを実行。
./../gradlew jar
jarファイルは下記のディレクトリ配下に作成される。
<Project Root>/app/build/libs/
作成したjarファイルをUnityプロジェクトのAssets/Plugins/Android/ディレクトリ配下に配置。
呼び出し側コード
using UnityEngine;
using System.Collections;
public class Toast : MonoBehaviour {
// Use this for initialization
void Start () {
AndroidJavaClass androidNativePlugin = new AndroidJavaClass("com.example.unityplugin.AndroidNative");
androidNativePlugin.CallStatic("showToast");
}
// Update is called once per frame
void Update () {
}
}
動作確認





0 件のコメント:
コメントを投稿