Unity安卓版本设置与开发教程

第一步先建个安卓studio工程

unity android 版本 如何设置 unity安卓教程_后缀

包名点击后面的Edit可以修改,最好修改为和Comany dimain一样,这样可以一些防止不必要的错误。

把视图切换为如下模式,方便找东西

unity android 版本 如何设置 unity安卓教程_android_02



第二部

unity android 版本 如何设置 unity安卓教程_android_03

点如上部分,进去发现有一个model里有一个app,选中app部分,点击上方的"-"可以将其删除,之后回到的目录,就可以把app文件夹彻底删除了。

然后在选中根目录,右键新建一个Model,接着会弹出一个界面,选择Android Library

unity android 版本 如何设置 unity安卓教程_后缀_04



然后next,又会出现一个界面

unity android 版本 如何设置 unity安卓教程_后缀_05

其他名字随便起,但包名还是不能变,要为一开始建项目时的。


第三步,在我们新创建的Model里配置AndroidManifest文件

点击开发现里面几乎空的,这当然是不行的

unity android 版本 如何设置 unity安卓教程_后缀_06

适当的加几句,如下

unity android 版本 如何设置 unity安卓教程_android_07

登录后复制


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

这句一定要有,要不然Unity打包的时候,Manifest文件回合Unity的合并,不加就会报找不到Manifest文件的错

至此,快完事了,再坚持一下


第四步写安卓端代码

先找到Unity目录下的如下位置:



  F:\Unity\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\mono\Release\Classes  


如下有个classes.jar文件这是Unity为我们封装的一个jar包,有了它才能在安卓导入Unity中使用的一些包

unity android 版本 如何设置 unity安卓教程_android_08

然后找到如下目录,新建一个类

unity android 版本 如何设置 unity安卓教程_android_09

新创建一个类,名字随便起

unity android 版本 如何设置 unity安卓教程_System_10

之后可以写代码了

登录后复制


package com.shiguang.www;

import android.app.Fragment;
import android.os.Bundle;
import com.unity3d.player.UnityPlayer;
public class MyPluginClass extends Fragment{
    private static final String TAG = "MyPlugin";
    private static MyPluginClass Instance = null;
    private String gameObjectName;

    public static MyPluginClass GetInstance(String gameObject)
    {
        if(Instance == null)
        {
            Instance = new MyPluginClass();
            Instance.gameObjectName = gameObject;
            UnityPlayer.currentActivity.getFragmentManager().beginTransaction().add(Instance, TAG).commit();
        }
        return Instance;
    }

    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setRetainInstance(true);  // 这一句很重要,保存对该Fragment的引用,防止在旋转屏幕等操作时时丢失引用(Fragment隶属于Activity)
    }
    //示例方法一:简单的向Unity回调
    public void SayHello()
    {
        UnityPlayer.UnitySendMessage(gameObjectName,"PluginCallBack","Hello Unity!");
    }
    //示例方法二:计算传入的参数并返回计算结果
    public int CalculateAdd(int one, int another)
    {
        return one + another;
    }
}

然后安卓端完事了基本,之后就可以

unity android 版本 如何设置 unity安卓教程_android_11

,进行Bulid操作了.Build好的aar包直接就可以使用了,在如下位置,

unity android 版本 如何设置 unity安卓教程_android_12

如果点击了Build没有反应,可以点击顶端的绿色小锤子,他就会Build了

unity android 版本 如何设置 unity安卓教程_后缀_13

之后,又键aar包
unity android 版本 如何设置 unity安卓教程_后缀_14


让他显示在文件夹中,把它后缀改为zip,点击进去,吧lib文件夹下的classes.jar删除掉,要不然UNity打包会报错,

之后在把后缀再改为aar,可以导入Unity了,必须放在Unity的如下目录

unity android 版本 如何设置 unity安卓教程_System_15



第五步,写Unity端的代码

登录后复制


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


public class NewBehaviourScript : MonoBehaviour {
    public Text t;
    private AndroidJavaObject jo;
    public string className = "com.shiguang.www.MyPluginClass";
    void Start()
    {


        jo = new AndroidJavaClass(className).CallStatic<AndroidJavaObject>("GetInstance", gameObject.name);  
        jo.Call("SayHello");                                                                                 
        t.text = jo.Call<int>("CalculateAdd", 22, 33).ToString();   
    }}
    
    

让结果显示在个Text上就可以看到了。最后打包就可以了,

但是如果你报了这个错误

unity android 版本 如何设置 unity安卓教程_System_16

那么还没有完,查看错误,我们会发现

unity android 版本 如何设置 unity安卓教程_android_17

,我们manifest文件中,这两个地方需要修改,修改如下,再找到aar包,再改成zip,找到manifest文件,

unity android 版本 如何设置 unity安卓教程_android_18

把这里改正,就可以打包了。


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

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

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

* 公司名称:

姓名不为空

手机不正确

公司不为空