unity android 启动,Android启动Unity
例如在一个android项目中,点击一个按钮,启动unity for android。
1、首先在Unity 引擎中将Unity3D项目build一下,需要在build settings——> platform中选择Android平台。编译好,就会在Unity3D项目的目录下\Temp\StagingArea中自动生成一个Android工程目录结构的包,这个包就是Android项目需要引用的包
2、根据unity3d项目..\Temp\StagingArea的目录包,在Eclipse中的新建一个项目,这个项目是根据Android Project from Existing Code 进行创建的项目
这个Existing Code Root Directory就是unity3d项目下的..\Temp\StagingArea这个目录,并将这个项目设置为Library
3、将这个Library项目中的assets目录下bin目录与libs目录拷贝到需要整合的Android项目中的assets目录下
4、需要与Unity3D进行整合的Android项目需要引用刚才的Library
5、最后把Unity3D安装目录如..\Unity\Editor\Data\PlaybackEngines\androidplayer\bin目录下的classes.jar拷贝到Android项目下libs的目录下,并引用它。
6、完成以上步骤,开始在Android项目中写脚本。
package com.example.androidcallunity;
import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.view.View.OnClickListener;
public class MainActivity extends Activity {
Context mContext = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mContext = this;
setContentView(R.layout.activity_main);
Button call = (Button)this.findViewById(R.id.button1);
call.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
myStartActivity();
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
public void myStartActivity() {
Intent intent = new Intent(mContext,unityActivity.class);
intent.putExtra("name", "Activity");
this.startActivity(intent);
}
}
新建一个类脚本,
这个Activity是继承于UnityPlayerActivity。
package com.example.androidcallunity;
import android.annotation.SuppressLint;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.KeyEvent;
import com.unity3d.player.UnityPlayerActivity;
public class unityActivity extends UnityPlayerActivity {
protected void onCreate(Bundle savedInstanceState) {
// call UnityPlayerActivity.onCreate()
super.onCreate(savedInstanceState);
// print debug message to logcat
Log.d("OverrideActivity", "onCreate called!");
}
}
如果你的unity程序LAUNCHER Activity不是UnityPlayerActivity,那么你在Intent 中就得写unity工程中的AndroidManifest.xml LAUNCHERActivity的类
Intent intent = new Intent(mContext,LAUNCHERActivity.class);
this.startActivity(intent);
Run As
点击按钮,启动unity开发界面
unity android 启动,Android启动Unity相关推荐
- 解决unity 打包在Android 8.0上启动出现黑屏问题(Android权限弹窗问题)
解决unity 打包在Android 8.0上启动出现黑屏问题 本文链接:https://blog.csdn.net/baidu_34248947/article/details/89377983 我 ...
- unity安卓打包修改启动画面_Unity自动化打包Android APK
零. 前言 最近在做Unity开发,有个任务是通过Jenkins实现自动化打包Unity游戏成Android APK的需求,所以在完成任务后,梳理成了一个最简单的教学,也把遇到的坑和大家分享. 若需要 ...
- android交互xml代码,Unity 与Android的交互(Android studio)
主要介绍在Unity里调用Android原生代码,即用Androidstudio导出 aar 文件,在Unity里使用.源码在文末给出. 我使用的环境:AndroidStudio2.2 + Unity ...
- Android App Bundle 和Unity AAB BundleTools
1.为什么要用Android App Bundle 从 2021年8月起,新应用需要使用 Android App Bundle 才能在 Google Play 中发布.现在,Play Feature ...
- 【100个 Unity小知识点】 | 启动unity应用时的 Unity Logo 删除/替换的三种方案
Unity 小科普 老规矩,先介绍一下 Unity 的科普小知识: Unity是 实时3D互动内容创作和运营平台 . 包括游戏开发.美术.建筑.汽车设计.影视在内的所有创作者,借助 Unity 将创意 ...
- Unity Hub安装Android环境 (Unity2019及以上支持)
Unity Hub安装Android环境 (Unity2019及以上支持) 1. 下载Unity Hub 官网 https://unity.cn/releases 2. 安装Unity 选择需要安装的 ...
- Unity 和 Jar,自定义Unity安卓启动页
打Jar包流程 1,新建一个AS的Java空项目 2,修改plugins为com.android.library,删掉多余的配置,再点击Sync Now,把这个工程变成类库 3,在java目录下新建所 ...
- android打aar给unity使用
文章目录 效果 方式一 android端 1.新建library库 2.复制jar包 3.android项目中引用jar包 4.新建activity类继承UnityPlayerActivity 5.修 ...
- Android系统的启动过程
Android系统的启动过程可以简单地总结为以下几个流程: 加载BootLoader -> 初始化内核 -> 启动init进程 -> init进程fork出Zygote(孵化器)进程 ...
- linux的android工作室,Android工作室在启动时抛出错误,linux机器
我只是将我的Android Studio从1.5升级到2.3,我只是解压缩文件夹并复制到下载文件夹中,现在当我启动android studio时,我收到了此消息:Android工作室在启动时抛出错误, ...
最新文章
- 大数据的两面性_大数据,多大的数据才是大数据?
- 泰坦尼克号数据_看完泰坦尼克号生还数据之后,你还会认为是妇女和儿童先走吗?...
- uber在限制新司机加入了,看看新政策把
- 墙裂推荐:这可能是CAP理论的最好解释
- ajax 提交 .net ispostback不执行,ASP.NET基于Ajax的Enter键提交问题分析
- C++ opengl 对OpenGL中矩阵设置的初步认识
- 记录Yii2代码调试中出现的两个问题(截图展示)
- python成绩区间曲线图_Python重现论文图表之【包含置信区间的折线柱状图】
- 用c语言计算星期,计算任何一天是星期几的C语言源代码.
- Vue自定义指令—— 完美解决H5页面不同尺寸屏幕的适配问题
- 5.2刚买了佳能的ixus100is数码相机,可以录像不过是mov格式的,需要转换为dvd的软件...
- 向英雄联盟生涯致敬,三十行Python代码爬取LOL官网英雄皮肤图片
- 茆诗松概率论与数理统计持续更新中...
- sealos4.1部署Kubernetes单机
- HP Socket Pack笔记
- 韩媒批其国民都沉迷“美色” 娱乐产业是起因
- Spring漫画学习笔记(二) 什么是BeanFactory
- hud 6078 Wavel Sequence
- ITV常见故障错误代码(中兴平台)
- 酷狗音乐下载|酷狗音乐播放器下载
热门文章
- mysql 列转置_MySQL 行列转置
- vue中数组长度_vue.js - 如何获得动态数组的数组长度 - SO中文参考 - www.soinside.com...
- python怎么添加csv模式_python对csv文件追加写入列的方法
- c++ 遍历list_数据结构之图的遍历,一篇文章get全部考点
- java jtabbedpane 关闭_JTabbedPane实现关闭按钮 | 学步园
- mysql忽略大小写配置cnetos_CentOS7下安装MYSQL8.X并设置忽略大小写
- 四因素三水平正交试验表_案例 | 螺栓装配失效试验研究
- 二进制补码求值用c语言,C语言程序设计第2章数据类型.运算符与表达式.ppt
- php程序内存优化之数组操作优化
- jquery实现点击浏览器后退,上一页面自动刷新