欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

unity android整合

程序员文章站 2022-03-11 15:37:13
1、新建1个unity项目(1)加1个物体 改名 android(2)挂载1个脚本,在start方法内调用android方法 AndroidJavaClass jc = new AndroidJavaClass("com.ngt.demo"); AndroidJavaObject activity = jc.GetStatic("currentActivity"); string[] args =......

1、新建1个unity项目

(1)加1个物体 改名 android

(2)挂载1个脚本,在start方法内调用android方法

        AndroidJavaClass jc = new AndroidJavaClass("com.ngt.demo.UnityPlayerActivity");  
        AndroidJavaObject activity = jc.GetStatic<AndroidJavaObject>("currentActivity");
        string[] args = new string[2];
        args[0] = "a";
        args[1] = "b";
        activity.Call("testMethod0", args);

添加1个让android调用的方法

public void testMethod1()
    {
        print("testMethod1 in unity");
    }

(3) 设置包名 build setting-player setting 

com.ngt.demo

(4) export android项目

导出完毕后,复制1份工程,尝试用android studio (import project)运行看看

2、新建1个android项目

包名要一致 com.ngt.demo 

运行试试

3、复制unity项目文件

(1)jar

将unity导出的Jar包(libs文件夹下)导入到AS项目中libs下,选中jar包右键点击选择Add as Library

(2)assets

将src/main下的assets文件夹整体导入到AS项目src/main目录下

(3)jniLibs

将src/main下的jniLibs文件夹整体导入AS项目src/main目录下。

(4)java文件夹

使用src/main下的java文件夹替换AS项目src/main目录下 java文件夹(如果AS项目已集成第三方SDK,也可以直接把Unity侧java文件夹下脚本直接添加到AS侧java下,前提是两侧包名一致,然后在unity的java脚本里的Oncreate里初始化SDK)。

(5)AndroidManifest

重新配置AS项目中src/main下的AndroidManifest.xml

只改activity的名字

<activity android:name=".UnityPlayerActivity">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

(6)strings.xml

unity导出的src/main/res/Value下的strings.xml中复制一句代码到AS中src/main/res/Value下的strings.xml

unity android整合

unity android整合

(7)android UnityPlayerActivity

定义currentActivity

public static UnityPlayerActivity currentActivity=null;

在onCreate方法内 最后

currentActivity=this;

增加1个方法

public void testMethod0(){

    System.out.println("testMethod0");
    UnityPlayer.UnitySendMessage("android", "testMethod1", "");
}

(8)build试试--遇到白屏闪退

build.gradle(moudle 注意该文件有两个) 在defaultConfig内加入

defaultConfig {

ndk {

abiFilters 'armeabi-v7a', 'x86'

}

}

 

本文地址:https://blog.csdn.net/frankxixu/article/details/111843919

相关标签: 手游开发