目录
1.Unity3d项目导出
2.Android Studio导入
3.配置
4.引用(显示)
1.Unity3d项目导出
点击File->Bulid Settings 选择Android和项目包导出形式进行项目导出
导出时可能会遇到问题,注意名字和项目包名一致
导出后的文件结构如下
2.Android Studio导入
随意建立一个空的Android Studio项目即可
导入
1.最简单的简单的导入方式是直接选择Unity导出的项目包里的 unityLibrary 文件进行导入。
2.Android Studio可能因为版本问题而存在导入Moudle包的BUG(我就是,2020.3.1版本,导入时不能点击FInish),因此需要自己手动导入。
1)添加导入的包名,格式为: ,':包名' ,此时不要点 Sync Now
2)将需要导入的包(我这里是 unityLibrary 文件)复制到Android Studio的项目中
3)重启Android Studio,编译。
如果有报错 unityStreamingAssets 未找到的问题,在图中文件中加入下面这句即可
unityStreamingAssets=.unity3d, google-services-desktop.json, google-services.json, GoogleService-Info.plist
如果还有其他报错则可能需要修改我们导入的包中的对应文件的SDK版本适配自己的Android Studio的问题,将其修改为适配AS的版本即可。
编译成功的话就成功导入了。
3.为 Android 添加 unityLibrary 的引用 ,按图点击进入选择
按步点击之后勾选自己需要导入的包后确定即可。
3.配置
在app的 strings.xml 文件中添加下面代码
<string name="game_view_content_description">Game view</string>string>
在app的build.gradle 文件中分别添加下面代码
ndk { abiFilters 'armeabi-v7a' }
implementation project(':unityLibrary')
implementation fileTree(
dir: project(':unityLibrary').getProjectDir().toString()+('\\libs'),include:['*.jar']
)
将导入的 unityLibrary 包中的AndroidManifest.xml 文件中的 <application>... </application>部分注释掉。
4.引用(显示)
1.创建unity继承类并通过一个Activity 去显示 Unity 渲染的场景,在 MainActivity 中通过 Intent 跳转到负责 Unity 场景显示的类中去。
在 app 的 java 文件夹下建立两个新的 java 类,如图
代码如下:
import com.unity3d.player.UnityPlayerActivity;
public abstract class OverrideUnityActivity extends UnityPlayerActivity
{
public static OverrideUnityActivity instance = null;
abstract protected void showMainActivity(String setToColor);
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
instance = this;
}
@Override
protected void onDestroy() {
super.onDestroy();
instance = null;
}
}
import com.unity3d.player.UnityPlayerActivity;
public class MainUnityActivity extends UnityPlayerActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
}
2.在app的 AndroidManifest.xml 文件夹下声明 MainUnityActivity
3.在 MainActivity 通过 Intent 跳转到 Unity 场景
至此,就可以将app打包在android系统上运行了,因为这里是在 MainActivity 直接使用 Intent 跳转到Unity场景,因此,打开运行app会直接全屏显示Unity场景。
下面是我参考的大神的博客,第二篇里面也有怎么窗口化显示Unity场景:
将Unity工程导入Android Studio中(Unity、AS混合开发)_一碗馄饨面的博客-CSDN博客文章来源:https://www.toymoban.com/news/detail-475336.html
Android/iOS内嵌Unity开发示例 - zhxmdefj - 博客园文章来源地址https://www.toymoban.com/news/detail-475336.html
到了这里,关于Uinty3d 工程导入 Android Studio的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!