|
Chinar 堅持將簡單的生活方式,帶給世人! (擁有更好的閱讀體驗 —— 高分辨率用戶請根據需求調整網頁縮放比例) |
|
助力快速理兩者 aar 包方式的交互 為新手節省寶貴的時間,避免采坑! |
Chinar 教程效果:
1
Create Android Module —— 創建安卓庫模塊
該過程,於新手來講較為繁瑣
另外導出 jar、arr 包創建 Module 的流程都一樣
在此,為了便於新手理解
Chinar 直接提供另一個教程,專門做創建
請跳轉 —— 安卓與Unity交互之-Android Studio創建Module庫模塊教程
2
Write Code in MainActivtity —— 在 Activity 中寫代碼
至此,所有的准備工作都已經做完!
我們在 Android Studio 安卓開發端,寫2個 Android 端方法
然后,我們在 Unity 端寫一個方法,測試通過安卓這邊調用
安卓端代碼如下:
package kim.unity.mylibrary;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import com.unity3d.player.UnityPlayer;
import com.unity3d.player.UnityPlayerActivity;
public class MainActivity extends UnityPlayerActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.activity_main);//注銷掉這句,顯示界面用的
}
//測試Android Studio的A方法,等待Unity調用
//這里用中文名稱當方法名,是為了便於理解。自己寫,請不要用中文!
public String 安卓方法A(String a,String b){return a+b;}
//測試Android Studio的B方法,等待Unity調用
public int 安卓方法B(int a,int b)
{
安卓端調用UnityMethodA();//調用下方方法
return a+b;
}
//這是安卓調用Unity端的方法
public void 安卓端調用UnityMethodA()
{
//UnityPlayer類中的靜態方法
//UnitySendMessage向Unity發送消息,
//(Unity掛載腳本的物體,具體哪個方法,傳入參數“安卓端調用”)
UnityPlayer.UnitySendMessage("Main Camera","UnityMethodA","安卓端調用");
}
}
3
Create C# Script —— 在 Unity中創建一個C#腳本
我們在 Unity 端寫一個方法,通過安卓來調用
腳本掛在、主相機 Main Camera 上
Unity端代碼如下:(腳本掛在主相機上)
using UnityEngine;
using UnityEngine.UI;
/// <summary>
/// 測試類,掛載相機上
/// </summary>
public class Chinar : MonoBehaviour
{
public Text TextUp; //上方文本框
public Text TextDown; //下方文本框
private AndroidJavaObject jo; //私有jo對象
void Start()
{
AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); //固定寫法
//固定寫法、獲取當前對象;返回一個 AndroidJavaObject對象
//jo代表安卓當中的 當前MainActivity對象
jo = jc.GetStatic<AndroidJavaObject>("currentActivity");
string strCallA = jo.Call<string>("安卓方法A", "第一形參", "第二形參"); //用Call方法,去調用安卓端方法A
TextUp.text = strCallA; //輸出到文本框
int strCallB = jo.Call<int>("安卓方法B", 333, 333); //調用安卓端方法B
TextUp.text += "\n" + strCallB.ToString(); //換行,輸出到文本框
}
/// <summary>
/// 這是Unity項目中的方法A
/// </summary>
/// <param name="a"></param>
public void UnityMethodA(string a)
{
TextDown.text = a;
}
}
4
Create Unity UI —— 在 Unity中創建簡單的UI
注意:
由於通過 Android Studio 寫的代碼,在 Unity 中測試、調用,是會報錯的
只有打包 APK ,並安裝到手機上才可以測試!
我們簡單的做一個 UI,創建一個 UI文本框,來測試輸出

5
Make Module —— 構造庫模塊
回到 Android Studio ,選中我們創建的庫 mylibrary
菜單欄點擊 Build →→然后 Make Module 完成庫模塊的制作
另外,准備好我們下一步需要做的修改。

6
Export jar Package —— 導出 jar 包到Unity中
至此,准備工作全部做好!
下面,就要進入主題,開始完成 aar 包的導出到 Unity
從而與達到 Unity 交互

1. —— 切換到Project工程視圖,找到我們需要的文件
注意:
切換到 Project 工程目錄視圖
找到我們需要的 aar 文件,然后右鍵 Show in Explorer 從外部打開
然后我們在外部對文件稍作修改后才能導入到 Unity 中

2. —— 解壓 mylibrary-debug.aar 文件並修改
aar 格式,用 rar 等壓縮文件直接打開即可
切換到 Project 工程目錄視圖
找到我們需要的 aar 文件,然后右鍵 Show in Explorer 從外部打開
然后我們在外部對文件稍作修改后才能導入到 Unity 中

3. —— 修改外部AndroidManifest.xml,並導入Unity
工程目錄視圖,找打黃色的 mainifests / full / debug
同樣通過 Show in Explorer 外部打開
記事本/ 或 Sublime Text 打開
,修改包名
不會/想要安裝 Sublime Text 的朋友請↓↓
Sublime Text 3(中文)在Windows下的配置、安裝、運行

7
PlayerSettings —— Unity打包App之前的設置
注意:
更改下 PlayerSettings 中的 Package Name
需要與 AndroidManifest.xml 中的包名保持一致

8
Build And Run —— Unity打包App測試
注意:
不能 Build And Run 是由於沒有安裝對應的安卓 StudioUSB 驅動
步驟對於新手來講,較為麻煩。以后我會專門寫博客來講解流程
這里修改后包名后,直接打包成 APK 包即可!
將打包的 App 包
拷貝到手機中,並且安裝測試
9
Summarize ——總結
提示:
其實安卓導出aar 包與 Unity 交互的操作很簡單
這里我寫的比較細致,只是怕新接觸的朋友,采坑出錯
一步步跟着我的做,即可完美完成!
多練習 3-5次,寫好方法后,導包其實十幾秒都能走一遍流程!
支持
May Be —— 搞開發,總有一天要做的事!
|
Chinar 提供一站式教程,閉眼式創建! 為新手節省寶貴時間,避免采坑! |
先點擊領取 —— 阿里全產品優惠券 (享受最低優惠)
1 —— 雲服務器超全購買流程 (新手必備!)
2 —— 阿里ECS雲服務器自定義配置 - 購買教程(新手必備!)
3—— Windows 服務器配置、運行、建站一條龍 !
4 —— Linux 服務器配置、運行、建站一條龍 !
Chinar
本博客為非營利性個人原創,除部分有明確署名的作品外,所刊登的所有作品的著作權均為本人所擁有,本人保留所有法定權利。違者必究
對於需要復制、轉載、鏈接和傳播博客文章或內容的,請及時和本博主進行聯系,留言,Email: ichinar@icloud.com
對於經本博主明確授權和許可使用文章及內容的,使用時請注明文章或內容出處並注明網址
