android之与unity通信+真机调试
一、操作步骤:
1、新建android工程
2、项目内容
在工程下新建模块android library、清空res下多余不必要的东西(不需要任何布局页面等),更改xml(以如下.xml为参照)
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.asmobpay" >
<application
android:allowBackup="true"
android:label="@string/app_name">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
3、导入unity的classes.jar包
【目录:Unity\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\mono\Release\Classes】
4、依赖
依赖中加上implementation files(‘libs/classes.jar’)-》sync
5、新建Activity,继承UnityPlayerActivity,
package com.example.asmobpay;
import android.os.Bundle;
import com.unity3d.player.UnityPlayer;
import com.unity3d.player.UnityPlayerActivity;
public class MainActivity extends UnityPlayerActivity {
@Override
protected void onCreate(Bundle bundle) {
super.onCreate(bundle);
}
//android提供的功能
//unity调用
public int add(int a, int b){
//调用unity里面的方法
//参数:(游戏物体、调用方法、传递参数)
UnityPlayer.UnitySendMessage("Main Camera","printSre","android 传参");
return a+b;
}
}
6、点击build module xxx
生成jar
7、打开如下图压缩包
8、导入unity
9、在导入unity中要按下面形式
10、脚本
pay如下:【挂在MainCamera上】
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class pay : MonoBehaviour {
public Text text;
// Use this for initialization
void Start () {
AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity");//MainActivity
int res = jo.Call<int>("add", 1, 5);
print("---------android result----------"+res);
text.text = res.ToString();
}
// Update is called once per frame
void Update () {
}
void printSre(string str)
{
text.text += str;
}
}
二、真机测试:
1、360的手机助手
进入360的手机助手。通过usb线连接-》usb调试
2、开发者模式
手机进入开发者模式【关于手机-》连击版本号】
3、usb调试
【其他设置-》开发者选项-》开启usb调试】
4、连接成功效果图
便可连接成功,效果如下图(同步有一点卡,记得刷新)
5、在unity中将包名更改为在安卓中设置的包名
6、运行
build setting->转换为安卓平台-》build and run