在AndroidStudio中生成Unity签名文件并添加安卓模块

Android 工程

1.Create Project —— 创建安卓工程

默认即可

2.Create Module —— 新建一个模块

切换至 Project 视图下

AndroidStudio生成unity签名文件 unity添加安卓模块_android

AndroidStudio生成unity签名文件 unity添加安卓模块_字段_02

3.导入 Unity Jar —— Unity 的 Jar 包导入到安卓库中

  1. 找到 Unity Jar 包(在 unity 安装目录下)
  2. 将复制的 jar 粘贴到创建的 Module lib 目录下并添加到库

4.新建 Activity

(不切换也可以,但结构会复杂些)

AndroidStudio生成unity签名文件 unity添加安卓模块_Android_03

AndroidStudio生成unity签名文件 unity添加安卓模块_unity_04

5.修改配置文件和清单文件

  1. 修改MainActivity
  2. 修改 AndroidMainfest.xml
    app 中的 AndroidMainifest 文件是完整的,我们可以直接赋值里边的数据,并稍作修改,在这里边添加一段代码标示:表明 我们创建的这个库是给 Unity 用的



登录后复制

<meta-data android:name="unityplayer.UnityActivity" android:value="true"/>

修改 bulild.gradle

登录后复制

afterEvaluate {
    generateReleaseBuildConfig.enabled = false
    generateDebugBuildConfig.enabled = false
}

生成 Android Jar 文件

AndroidStudio生成unity签名文件 unity添加安卓模块_Android_05


切换到 Project 目录下,在文件夹中打开该文件

AndroidStudio生成unity签名文件 unity添加安卓模块_android_06

AndroidStudio生成unity签名文件 unity添加安卓模块_Android_07


将上面的三个文件夹导入到 unity 的 Assets/Plugins/Android 下

AndroidStudio生成unity签名文件 unity添加安卓模块_unity_08

Unity 工程

1.Create C# Script —— 在 Unity中创建一个C#脚本

登录后复制

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class UAExTest : MonoBehaviour
{
    public Button btn;
    public Text text1;
    public Text text2;
    private AndroidJavaObject jo = null;

    // Start is called before the first frame update
    void Start()
    {
        AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");

        jo = jc.GetStatic<AndroidJavaObject>("currentActivity");

        btn.onClick.AddListener(()=>{
            int res = jo.Call<int>("Add", 1, 2);

            text1.text = res.ToString();
        });
    }

    public void UnityMethodA(string a)
    {
        text2.text = a;
    }
}

2.Create Unity UI —— 在 Unity中创建简单的UI

AndroidStudio生成unity签名文件 unity添加安卓模块_交互_09

3.PlayerSettings —— Unity打包App之前的设置

注意:

更改下 PlayerSettings 中的 Package Name

需要与 AndroidManifest.xml 中的包名保持一致

AndroidStudio生成unity签名文件 unity添加安卓模块_android_10

4.Builde —— 打包打真机上测试

AndroidStudio生成unity签名文件 unity添加安卓模块_unity_11

AndroidStudio生成unity签名文件 unity添加安卓模块_unity_12

Unity 获取 Android 类、类的方法函数、字段属性

登录后复制

// 1. 获取 Android 包下(类似于C#的命名空间)的指定类,方法一
 AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
 AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity");
 // 2. 获取 Android 包下(类似于C#的命名空间)的指定类,方法二
 AndroidJavaClass mainActivityClass = new AndroidJavaClass("com.xan.intentreceiver.MainActivity"
 
 // 下面函数还可传其它参数,具体看API
1、Call<返回参数>("非静态公共函数名")  调用非静态公共函数
	ReturnType Call<ReturnType>(string methodName, params object[] args);
2、CallStatic<返回参数>("静态公共函数名")  调用静公共态函数
3、Get<字段类型>("非静态公共字段名称")   获取非静态公共字段
4、GetStatic<字段类型>("静态公共字段名称")  获取静态公共字段
5、Set<字段类型>("非静态公共字段名称")   设置非静态公共字段
6、SetStatic<字段类型>("静态公共字段名称")  设置静态公共字段


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空