[安卓]Android Studio 3.0 JDK安卓環境配置(2017.10)
http://blog.csdn.net/bulademian/article/details/78387052
[安卓]Android Studio 3.0 安裝包說明(2017.10)
http://blog.csdn.net/bulademian/article/details/78387199
[安卓]Android Studio 3.0 安裝 後的 正常的設置的反應(2017.10)
http://blog.csdn.net/bulademian/article/details/78387367
-------------------------------------------------------------------------
主要是 根據 參考資料3 的內容。本文儘可能減小文字的 描述。參考資料1 有 一點 問題。
本文的內容須要 對照 參考資料3 來查看
創建 新的工程。
點擊 FINISH 按鈕,新建工程。
找到 libs 的文件路徑。右鍵 libs 文件夾,find in path 。
按 esc 按鍵 退出 find in path。
打開文件路徑。
安裝路徑下 的 UNITY 文件夾。(具體 UNITY 的設置 參考下一篇文章 參考資料2)
D:\Program Files\Unity\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\mono\Release\Classes
classes.jar
複製粘貼 到
E:\Android\AndroidStudioProjects\UnityTest\app\libs
文件夾,以下圖所示。
正常狀況下,這裏就會有以下圖所示。
不作任何 處理,點擊 FINISH 按鈕後。
就新建了MainActivity ,右邊是初始腳本。
刪除
<activity android:name=".MainActivity"></activity>
複製初始模塊 的這個app 的 mainfests 文件夾的 AndroidMainfest.xml 文件的內容。
粘貼到 新建unity_exchage模塊 的這個unity_exchage 的 mainfests 文件夾的 AndroidMainfest.xml 文件的內容。
因爲這2個模塊 中都有 MainActivity ,原文並無 說明 是哪一個 MainActivity。所以 先 對 app 的MainActivity 進行修改。
後來發現 是 unity_exchage 的 MainActivity
import com.unity3d.player.UnityPlayerActivity;
這個時候,以下所示。
改成以下所示。
下面就是在Android中編寫Unity要調用的方法了,例如我這裏只寫一個簡單的兩數求和的方法:
//兩樹求和
public int add(int a,int b)
{
return a+b;
}
選中 unity_exchange 點擊build -- Make Module 'unityexchange'
等待一下,就會顯示以下所示。若是沒有,就從新試幾回。
使用 Build -- Make Project 或者 Build -- Rebuild Project 從新編譯工程。
工程 下 的 unity_exchange 的 build 的 intermediates 的 bundles 的debug沒有以下圖 所示 的文件,就多 從新編譯工程幾回。
右鍵 debug 文件夾,show in explorer
使用 Build -- Make Project 或者 Build -- Rebuild Project 從新編譯工程。
而後把debug文件夾下的classes.jar文件移動到libs文件夾中,而且把libs文件夾中的class.jar文件替換掉。而後將debug文件夾下的libs文件夾、res文件夾、AndroidManifest.xml文件導入到Unity的Assets/Plugins/Android文件夾下(沒有這個文件夾需先建立)。
AndroidManifest.xml就是 以下圖所示,的01_Unity_Message3/unity_exchange/src/main/AndroidManifest.xml
若是下圖中沒有 AndroidManifest.xml 文件,就把上圖所示的AndroidManifest.xml 複製粘貼到下面。
就把 把下面這3個文件(包含 AndroidManifest.xml )複製粘貼到 以下圖所示的 Unity 的位置。
Plugins/Android/
正常 的文件 結構以下所示。從 AS3.0 導入 過來的文件,都在 Plugins-- Android 裏面
新建腳本,掛載 上 Main Camera 上。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;//使用 該引用,才能得到 Text 組件。
public class Android_Test : MonoBehaviour {
private Transform canvasTras;//UGUI的Canvas
private Text text;//用來顯示 界面的文本
private Button btn;//前端的按鈕
private AndroidJavaObject jo = null;
// Use this for initialization
void Start () {
//固定寫法
AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
jo = jc.GetStatic<AndroidJavaObject>("currentActivity");//獲取當前Activity對象,即Android中的MainActivity
canvasTras = GameObject.Find("Canvas").transform;
text = canvasTras.Find("Text").GetComponent<Text>();
btn = canvasTras.Find("Button").GetComponent<Button>();
btn.onClick.AddListener(Click);//按鈕點擊事件監聽下面的Click()方法
}
//這個方法是在界面點擊按鈕的時候調用,使用的是UGUI的BUTTON組件
public void Click()
{
text.text = "";//點擊的時候先清空
int res = jo.Call<int>("add", 56, 100);//調用Android中的方法,"add"爲方法名字,56,100,分別是想加的參數
text.text = "56 + 100的結果是:" + res.ToString();//顯示前端
}
}
在 Unity 的 GameObject -- UI 新建 Text 和 Button
佈局以下所示
複製 package 的名字
粘貼到這裏 的package 位置。
點擊 update android SDK。等待讀條結束,UNITY 後臺程序。
在虛擬機 ,上 測試 APK
真機測試
若是是正常的,就會 進入 程序顯示,made with unity
-------------------------------------------------------------------------
參考資料:
1.[自學總結] Unity調用 Android 接口實踐與總結(Unity5.6 和 Eclipse 及 AndroidStudio2.3.1)
http://www.manew.com/thread-103445-1-1.html
2.
[Unity][安卓]Unity和Android Studio 3.0 交互通信(2)Unity 設置
http://blog.csdn.net/bulademian/article/details/78387470
3.
Android Studio 與 Unity3d交互。概括版。
http://blog.csdn.net/ldghd/article/details/54312532
4.
Unity5與Android交互通訊(使用Android Studio2.4) 詳細操做一
http://m.blog.csdn.net/u010377179/article/details/53105062
5.
6.
7.
---------------------
做者:BuladeMian
來源:CSDN
原文:https://blog.csdn.net/bulademian/article/details/78387461
版權聲明:本文爲博主原創文章,轉載請附上博文連接!html