LoginSignup
13
13

More than 5 years have passed since last update.

Eclipseを使ってUnityプラグイン用のjarファイルを作り、PlugInフォルダへ置く

Last updated at Posted at 2015-04-02

■Androidにアプリをインストールできなかったので、アプリを起動できたやり方に大幅変更

 AndroidManifest.xmlを使う方法ご存じなら教えてください、
 調べきれてないです。


参考ページ1:http://qiita.com/relzx/items/a35f7ab6dbacb48f7e26

■Android側(Eclipse)

●Eclipseをダウンロード
 http://developer.android.com/sdk/installing/installing-adt.html

●ADTをインストール
 ①Eclipseを起動
 ②ADTを入れる
  参考ページ2:http://www.javadrive.jp/android/adt/index1.html

  ①Help -> Install New Software
  ②Addをクリック
  ③Name:任意の名前 たとえば "Android Plugin"
  Location:https://dl-ssl.google.com/android/eclipse/

■SDK Managerを開いてAPIバージョン22とBuild-Tools22.0.1まで設定
 (どこまで入っているかでEclipse上でプロジェクトのビルドがエラーになったりします)
 下図のようなかんじ
 スクリーンショット 2015-04-03 14.53.25.png

●Eclipseを起動して、Androidプロジェクトを作成
 ①File -> New -> Other
 ②Androidの下の Android Application Project を選択してNext
 ③Application Name=MiyaPluginUnity
  Package Name=com.test.miyapluginunity

 その他は下図参照
 スクリーンショット 2015-04-03 14.58.51.png

 ④Nextをクリック
 ⑤ここからFinishがでるまでNextをクリックし、最後にFinishをクリック

●Androidの実機を接続してマウント状態にする。
 ※Windowsならドライバが必要
 
●作成したProjectを選択状態にして、
 メニューバーの虫みたいなマークの矢印をクリックし、Debug As -> Android Application
 Android Device Chooser が起動するので、上のウィンドウで実機を選択状態にして
 OKをクリック

 ※この後、Debugウィンドウに切り替わるようならJavaウィンドウに切り替える。

●作成したProjectを選択状態にして、右クリックしてPropertiesを選択

●左の項目からAndroidを選択し、
 右の画面のIs Libraryをチェックして
 Applyをクリックし、OKを押す。

 作成したプロジェクトのbinフォルダの下にプロジェクト名.jarファイルが作成される。

●class.jarを取得(Unity Send Message はこれが無いと使えない気がする。)
 作成したプロジェクト名を選択して右クリック
 ①Java Build Path -> タブをLibrariesに切り替える。
 ②Add External JARs を選択して
  Unityのインストールパスの下からclass.jarを選択 -> 開く-> OK

 例:)C:\Program Files (x86)\Unity462\Editor\Data\PlaybackEngines\androidplayer\release\bin
 スクリーンショット 2015-04-02 15.33.21.png

●自分のソース(クラス)を追加
 ①自分のプロジェクトの下のsrcの下のパッケージ名を選択
 ②右クリック -> New -> Class
 ③Name を入力してFinish

●下記ソースで作成

MiyaTest.java

package com.test.miyapluginunity;

//class.jarがインポートされてないとエラーになる。
//import com.unity3d.player.UnityPlayer;

public class MiyaTest {

    public int FuncA()
    {
        return 10;
    }

    public byte[] FuncB(int bytesize)
    {
        byte[] byteArray = new byte[bytesize];
        for(int i = 0; i < byteArray.length; i++)
        {
            byteArray[i] = (byte)0x50;
        }
        return byteArray;
    }   
}

●プロジェクトを選択し、メニューのProjectからCleanを選択、
 自分のプロジェクトが選択されていればOKをクリック

●プロジェクトを選択し、メニューのProjectからBuild Projectを選択
 自分のプロジェクトが選択されていればOKをクリック

●作った*.jarをUnityのAssetsの下のPluginsの下のAndroidの下に置く

■Unity側

 ●Assetsの下にPluginsフォルダを作りその下にAndroidフォルダを作る

 ●jarファイルはAndroidフォルダに入っている

 ●Pluginsフォルダの中にjarを呼び出すスクリプトを書く。

 ※AndroidJavaObjectパッケージ名+クラス名の記述を忘れずに、
  毎回忘れてしまう。

UnityPluginScript.cs
using UnityEngine;
using System.Collections;

public class UnityPluginScript : MonoBehaviour {

    public static int CallFuncA()
    {

        // プラグイン名をパッケージ名+クラス名で指定する。
        AndroidJavaObject m_plugin = new AndroidJavaObject("com.test.miyapluginunity.MiyaTest");
        int FuncAval = m_plugin.Call<int>("FuncA");
        return FuncAval;
    }

    public static byte[] CallFuncB(int bytesize)
    {

        // プラグイン名をパッケージ名+クラス名で指定する。
        AndroidJavaObject m_plugin = new AndroidJavaObject("com.test.miyapluginunity.MiyaTest");
        return m_plugin.Call<byte[]>("FuncB",bytesize);
    }
}

●Build Settingsを変更する
 ●File -> Build Settingsをクリック
 ●プラットフォームをAndroidの変更
 ●Prayer Settingsを開き、Other Settingsを表示
 ●Bundle Identifierjarファイルを作ったパッケージ名に変える
  下図の参照

  スクリーンショット 2015-04-03 15.48.14.png

参考ページいろいろ:(何が正解やらわからん)
 http://stepism.sakura.ne.jp/unity/wiki/doku.php?id=wiki:unity:tips:086
 http://kakurenboman.blogspot.jp/2014/04/unity3d-android-plugin.html
 http://tech.hisasann.com/java/173/

参考動画いろいろ:
 https://www.youtube.com/watch?v=s1Mle2ERiuQ
 https://www.youtube.com/watch?v=mbACRV2S_8Q
 https://www.youtube.com/watch?v=4l64nUGt0l0

13
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
13