Re: [問題] 請問如何在Unity上使用java class

作者: euph (咬咬嚼嚼猴子口味)   2014-08-14 18:10:43
借此標題問一下相關問題
現在我手邊有兩個程式
一個是我方UNITY3D開發的主APP(對應IOS及ANDROID)
另一個是要新增進去的SDK(ANDROID/JAVA開發)
就SDK開發方的說法 要新增的方法似乎有兩種
一種是將UNITY這邊的主程式輸出為ANDROID工程 (大陸用語的工程是什麼啊? 專案嗎?)
然後在將SDK導入ANDROID工程這裡 然後IOS版要另外開發
另外一種方法是我自己GOOGLE來的
就是將ANDROID SDK補上UNITY的接口然後打包成JAR檔
然後利用PLUGIN的方法放給UNITY裡面去吃 有點像本篇原文的接法(下方)
請問板上有經驗的鄉民大人 對這兩種方法有沒有什麼比較好的建議
第二種方法是不是在整合進UNITY之後 就算是推出IOS版也可以正常運行呢??
目前我的傾向是第二種方法 只是我對ANDROID/JAVA開發比較不太熟
不知道該怎麼樣把SDK補上UNITY端的接口
是利用Eclipse開起新專案然後 將SDK放入嗎?
(我大概就卡在這邊 不知道怎把SDK的程式匯入專案裡)
還請前輩們能給予一點建議 感謝感謝
※ 引述《MiaShopgirl ( )》之銘言:
: 最近剛好有用到,雖然lag很久XD
: 先做個Activity, 把要用的method放進去,弄成jar
: 放在Unity project folder下
: \Assets\Plugins\Android\yourJarHere.jar
: 在cs裡面寫隻呼叫jar內Activity的method
: static AndroidJavaClass yourActivity;
: static AndroidJavaClass unityPlayer;
: static AndroidJavaObject currentActivity;
: public static void YourMethodName(){
: Debug.Log("Calling yourActivity");
: yourActivity = new AndroidJavaClass("your.package.name.SomeActivity");
: unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
: currentActivity = unityPlayer.GetStatic<AndroidJavaObject>("currentActivity");
: yourActivity.CallStatic("NameOfTheMethodInYourActivity", currentActivity);
: Debug.Log("Called yourActivity");
: }
: 大致上就這樣~
: 有家廣告商(inneractive)很佛心的寫好 sample (接他們家的廣告)
: 還有詳細的說明,參考如下:
: https://inneractive.jira.com/wiki/display/DevWiki/Unity+Android+SDK+guidelines

Links booklink

Contact Us: admin [ a t ] ucptt.com