androidstudio集成unity导出工程的实现
短信预约 -IT技能 免费直播动态提醒
最近需要将 unity 导出工程 嵌入到 android 工程
环境
1,android studio 2021.1.1.1
2, unity 2021.2.4
新建android 工程
1,
2,
导出 unity 工程
1,
2,导出结果 unityLibrary 就是我们想要的结果 launcher 暂时用不上
3, 在android 工程中
4,选择unitylibarary 目录
5,
6,更改 app gradle配置文件:
implementation project(path:':unityLibrary')
implementation fileTree(dir: project(':unityLibrary').getProjectDir().toString()+('\\libs'), include: ['*.jar', '*.aar'])
ndk {
abiFilters 'armeabi-v7a', 'arm64-v8a'
}
7,删除manifest配置
8, 在 gradle.property 添加配置 不加这个会报错
unityStreamingAssets=.unity3d, google-services-desktop.json, google-services.json, GoogleService-Info.plist
9,添加 value值 不加也会挂掉
<string name="game_view_content_description">Game view</string>
10,调用
Button myBtn= findViewById(R.id.button);
myBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this,UnityPlayerActivity.class);
startActivity(intent);
}
});
android c# 互相调用
android 调用 c#
package com.xingame.unitycallandroid;
import android.os.Bundle;
import android.widget.Toast;
import com.unity3d.player.UnityPlayer;
public class MainActivity extends UnityPlayerActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.activity_main);
}
//unity调用Android
public void UnityCallAndroid () {
Toast.makeText(this,"unity调用android成功", Toast.LENGTH_LONG).show();
AndroidCallUnity();
}
//android调用unity
public void AndroidCallUnity () {
//第1个参数为Unity场景中用于接收android消息的对象名称
//第2个参数为对象上的脚本的一个成员方法名称(脚本名称不限制)
//第3个参数为unity方法的参数
UnityPlayer.UnitySendMessage("receiveObj", "UnityMethod", "This is args.");
}
}
c# 调用 java
private void OnBtnClickHandler()
{
using (jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer")){
using (jo = jc.GetStatic<AndroidJavaObject>("currentActivity")){
jo.Call("UnityCallAndroid");
}
}
}
到此这篇关于android studio集成unity导出工程的实现的文章就介绍到这了,更多相关android studio unity导出工程内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341