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


三、效果如下:

1、unity中布局

在这里插入图片描述

2、真机测试

在这里插入图片描述

发布了33 篇原创文章 · 获赞 2 · 访问量 6938

猜你喜欢

转载自blog.csdn.net/qq_42677329/article/details/103748510