美文网首页
使用Unity2019.2.9 _Android Studio3

使用Unity2019.2.9 _Android Studio3

作者: Walk_In_Jar | 来源:发表于2020-03-10 11:29 被阅读0次

    首先两边建立工程,包名 统一为com.chengdu.sichuan

    1、AS建立工程

    选择新建安卓工程
    选择空活动窗口
    命名包名

    注意语言以及最低sdk版本,别忘了工程的位置


    image.png
    Finish 等待 CONFIGURE SUCCESSFUL 配置完成

    在unity的安装目录


    image.png

    ctrl +c 拷贝这个class.jar


    image.png
    在Project视图下选择libs文件夹 Ctrl +v粘贴

    确认


    image.png
    然后右键添加到Library 确认。
    image.png

    在MainActivity中 注释不需要的内容,以及使用unity的窗口


    image.png

    在这里 新建一个方法,供unity来调用显示Toast

        public void ShowToast(final String msg){
            runOnUiThread(new Runnable() {
                @Override
                public void run() {
                    Toast.makeText(getApplicationContext(),msg,Toast.LENGTH_SHORT).show();
                }
            });
        }
    

    爆红的话 ,使用Alt+Enter 来import Class

    修改AndroidManifest.xml
    image.png

    箭头指的都是一些unity用不到的资源 带@的都可以删除,然后在activity下添加

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

    最终如下


    image.png

    相应的,需要删除这些用不到的资源,按Delete删除


    image.png

    valus目录下内容也都是用不到的,删掉内容



    image.png
    修改build.gradle文件
    image.png

    把 apply plugin: 'com.android.application' 修改为 apply plugin: 'com.android.library',
    注释掉用不到的内容,并把之前导入的class.jar修改为,只编译,这样在导出的aar包中就不需要删除lib了



    sync一下
    点击导出
    image.png
    在工程的导出目录找到aar文件
    image.png
    找到AndroidManifest.xml文件
    image.png
    待用

    新建unity 安卓工程,包名保持一致

    image.png

    按图中样式创建目录


    image.png

    将aar与xml文件都放入Android目录
    推荐使用bandzip 打开aar


    image.png

    删除这个BuildConfig.class,unity已经有这个,不删除 导出会提示duplicate_class,重复

    编写脚本,挂载到任意物体

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    public class GameController : MonoBehaviour
    {
        void Start()
        {
            CallAndroid.CallAn();
        }
    }
    public class CallAndroid
    {
        public static void CallAn()
        {
            AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
            AndroidJavaObject currentActivity = unityPlayer.GetStatic<AndroidJavaObject>("currentActivity");
            currentActivity.Call("ShowToast", "四川成都欢迎你");
        }
    }
    
    

    基本的调用就是这样,网上还有很多调用静态方法,带返回值等等案例,这里不再赘述,只是把最新的导出aar方法分享出来


    image.png

    安卓10 手机上测试正常

    相关文章

      网友评论

          本文标题:使用Unity2019.2.9 _Android Studio3

          本文链接:https://www.haomeiwen.com/subject/mzwidhtx.html