当前位置:   article > 正文

Unity程序嵌入android项目中_unity clean build

unity clean build

个人搞Unity,对Android不是很熟悉,实现这个功能遇到很多问题特此记录一下。

我这里用的是Android Studio2021.2.1.15,Unity是2019.4.17

jdk是1.8,androidsdk就准备的版本比较多

目录

一、参考文档

二、原理说明

三、初步演示

四、具体步骤

1.Unity工程导出

2.AndroidStudio配置


一、参考文档

大佬文章:AndroidStudio接入Unity工程并实现相互跳转的示例代码 - H5W3

unity项目导入到android studio_千丘星的博客-CSDN博客_android studio unity

Unity论坛1:Integration Unity as a library in native Android app Version 2 - Unity Forum

Unity论坛2:Using Unity as a library in native iOS/Android apps - Unity Forum

二、原理说明

1.将Unity工程整个导出作为Android程序的一个模块进行嵌入。

2.Android程序通过一个Activity窗口全屏渲染Unity程序。

三、初步演示

四、具体步骤

1.Unity工程导出

①构建一点界面功能方便后续测试,我这里就只弄了两个按钮互相显示隐藏(测试的话,我就直接拖动事件绑定的)。

 ②【File】->【BuildSetting】切换打包平台为安卓平台

切换完成后勾选【Export Project】

 ③点击上图的【Player Setting】->【Other Setting】

将Scripting Backend改为IL2CPP

Minimun API Level:可自定义版本,但是得与Android Studio工程

 

④点击【File】->【Player Setting】->【Export】导出工程

2.AndroidStudio配置

①新建Android工程

 注:一定要注意这个MinimunSDK要与之前Unity程序打包的版本一致。

②把Unity打包的工程作为Android项目的Module导入

 

 导入之后,Clean Build和Rebuild一下,如果没错就下一步。

我导入这个报错

删除intent-filter标签的内容

 在Active标签中 添加android:exported=“false”

 ③配置unityLibrary作为app的Module

 

 在项目的Dependencies为app添加unityLibrary作为api添加

 

 

 ④创建UnityActivity.java作为Unity程序的显示窗口

  1. import android.os.Bundle;
  2. import com.unity3d.player.UnityPlayerActivity;
  3. public class UnityActivity extends UnityPlayerActivity {
  4. @Override
  5. protected void onCreate(Bundle savedInstanceState) {
  6. super.onCreate(savedInstanceState);
  7. }
  8. }

 ⑤修改app原来的MainActivity

  1. import androidx.appcompat.app.AppCompatActivity;
  2. import android.content.Intent;
  3. import android.os.Bundle;
  4. import android.view.View;
  5. import android.widget.Button;
  6. public class MainActivity extends AppCompatActivity {
  7. @Override
  8. protected void onCreate(Bundle savedInstanceState) {
  9. super.onCreate(savedInstanceState);
  10. setContentView(R.layout.activity_main);
  11. Button btn=findViewById(R.id.button);
  12. btn.setOnClickListener(new View.OnClickListener() {
  13. @Override
  14. public void onClick(View v) {
  15. //跳转到Unity界面
  16. Intent intent=new Intent(MainActivity.this,UnityActivity.class);
  17. startActivity(intent);
  18. }
  19. });
  20. }
  21. }

并且为MainActivity的activity_main添加一个按钮(可以Ctrl+鼠标左键【R.layout.activity_main】直接跳转设置) 或者去app/src/main/res/layout找到修改

⑥在app的AndroidMainfest.xml添加项目那句  

        tools:replace="android:theme,android:label,android:icon"

 并在原有Activity下添加

        <activity android:name=".UnityActivity"></activity>

 ⑦在app的build.gradle中添加下面这句

 

其次在app的main->res->values->strings.xml里加入这行代码。

<string name="game_view_content_description">Game view</string>

⑨然后Build就好了。

PS:后续想再总结一篇安卓和Unity通信的,看缘分。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/119174
推荐阅读
相关标签
  

闽ICP备14008679号