目录结构

Unity工程指UnityLibrary目录下文件;

安卓工程指app目录下文件;

整体指App目录下不包括app和UnityLibrary;

1.Unity打包时勾选导出安卓工程;

拷贝gradle.properties中:unityStreamingAssets=xxx 到整体工程的gradle.properties中

拷贝local.properites中ndk、jdk路径到整体工程的local.properites

2.AndroidStudio创建Empty Activity工程;

整体工程的setting.gradle中添加:

include ':unityLibrary'
project(':unityLibrary').projectDir=new File('.\\unityLibrary')

安卓工程app目录下build.gradle中添加:

dependencies{
implementation project(':unityLibrary')
implementation fileTree(dir:project(':unityLibrary').getProjectDir().toString() + ('\\libs'), include: ['*.jar'])

3.修改安卓工程和Unity工程Build.Gradle

targetsdk,minsdk,compilesdk,buildToolsVersion都要一致

也可在File/ProjectStructure/Modules中切换Version

4.在安卓工程MainActivity中添加切换Activity代码

在OnCreate中添加:

Intent intent = new Intent(MainActivity.this, UnityPlayerActivity.class);
startActivity(intent);

这样一开始就会打开Unity界面,也可以在原生工程添加按钮跳转;

报错记录

1.Gradle Version和 Gradle Plugin Version出错

Gradle Plugin Version中包含了多个Gradle Version;根据提示选择对应版本的GradleVersion;如果没有对应版本,就下载新的Gradle Plugin Version;

File/ProjectStructure/Project中切换;

2.sdk、ndk、jdk版本出错

建议使用Unity本体目录下的sdk和jdk,同样ProjectStructure界面选择;

之前local.properites也配置过;

3.跳转Unity工程闪退

安卓工程的main/res/values/string.xml中添加

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

4.编译过程中找不到libillcpp.so,libmain.so等问题

重新拷贝Unity导出工程的jiniLibs文件夹到UnityLibrary对应目录工,删除buid,重新打包;

5.打包编译il2cpp报错

如果做了代码热更有可能是没有正确生成依赖,找不到对应类型;

我使用HybridCLR热更,可以重新生成依赖,再次导出安卓工程;

6.两个app图标

注释UnityLibray目录中AndroidManifest.xml一下配置;

<!--      <intent-filter>-->
<!-- <action android:name="android.intent.action.MAIN" />-->
<!-- <category android:name="android.intent.category.LAUNCHER" />-->
<!-- </intent-filter>-->

Android工程接入UnityLibrary工程的更多相关文章

  1. unity工程接入Android sdk后真机测试解锁屏后退出的解决

    unity工程接入如91.移动支付等Android sdk后,真机运行尤其是在4.0+以上坏境,往往会出现解锁屏后退出的情况,解决办法如下: 可以在AndroidManifest.xml中所有的con ...

  2. Android Studio 导入Eclipse工程

    eclipse:workspace对应多个project:而android studio是project对应多个module:故,在android studio中的工程project实际上是eclip ...

  3. android studio依赖库工程Activity显示问题及库工程设置

    android studio引用库工程其实不难,直接添加依赖module即可,但是我在操作过程中出现一些奇怪的问题,苦扰我一整天,为了祭奠这苦命的一天特别mark一下. 首先描述一下我的错误现象: s ...

  4. 【Android Studio安装部署系列】十四、Android studio移除工程和删除项目

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 Android Studio删除工程.项目的操作步骤. 移除工程 主要用于从最近打开的项目列表中移除.硬盘中还是存在这个项目的. F ...

  5. Android studio 导入 github 工程

    最近从 github 下载两个开源项目,导入 Android Studio 都以 Studio 卡死结束.第一次以为是项目问题,第二次查询资料发现导入方式不正确,在此整理. 原目录结构如下: Andr ...

  6. android多lib库工程的自动批量构建--准备

    打包这个活儿吧,本来没什么技术含量,千篇一律的更改渠道名称,然后编译,签名即可.但是如果发布渠道比较多的话,这种重复工作让人烦不胜烦.我们的应用发布渠道有30多个,若是手工打包,基本不用做其他的事情了 ...

  7. android:关于主工程和library project

    .如何将一个android工程作为库工程(library project) library project是作为jar包被其它android工程使用的,首先它也是普通的android工程.然后: )在 ...

  8. Android学习:导入工程时报错The import android cannot be resolved

    今天在导入别人的工程时,出现了一个这个问题The import android cannot be resolved 就是找不到import android.support.v7.app.Action ...

  9. Android 支付宝接入时常见的问题

    1.概述 首先说明下,Android支付宝接入用的是快捷支付,下载地址是https://b.alipay.com/order/techService.htm    支付宝移动接入地址https://b ...

  10. 关于eclipse导工程或移植工程常碰到的错误汇总

      在开发过程中,eclipse是使用得最多的IDE,但由于其开源且免费的性质决定了其不然有很多的BUG,在项目很赶的时期碰到某些很恶的错误很浪费时间,也很让人郁闷,现我总结一下我碰到的错误并总结下对 ...

随机推荐

  1. React脚手架的使用

    初始化项目 npx create-react-app my-app // 或 npm init react-app my-app // 或 yarn create react-app my-app 启 ...

  2. Ubuntu 20.04 部署Prmoetheus+grafana+mysql+mysqld_exporter+node_exporter

    Prometheus简介 Prometheus是一个功能强大的开源监控系统,可从您的服务中收集指标并将其存储在时间序列数据库中.它通过Grafana等工具提供多维数据模型,灵活的查询语言和多样化的可视 ...

  3. fail-fast简介

    转载请注明出处:http://www.cnblogs.com/skywang12345/p/3308762.html fail-fast简介(使用concurrentHashMap可以完美避免这个问题 ...

  4. STM32 获取系统时钟频率

    //定义一个RCC_ClocksTypeDef 的结构体 RCC_ClocksTypeDef get_rcc_clock; //调用RCC_GetClocksFreq获取系统时钟状态 RCC_GetC ...

  5. FreeSql 将 Saas 租户方案精简到极致[.NET ORM]

    什么是多租户 维基百科:"软件多租户是指一种软件架构,在这种软件架构中,软件的一个实例运行在服务器上并且为多个租户服务".一个租户是一组共享该软件实例特定权限的用户.有了多租户架构 ...

  6. Mixly呼吸灯及可调灯(物联网)

    3挡可调灯 2秒呼吸灯

  7. php success error 封装跳转

    /** * Warning提示信息 * @param string $type 提示类型 默认支持success, error, info * @param string $msg 提示信息 * @p ...

  8. C# core 最简单的方式写入日志

    System.IO.StreamWriter sw = System.IO.File.AppendText( LogPath + LogFielPrefix + "Error-" ...

  9. list tuple dic set的区别

    list是可变的(可以在list里边添加删除替换内容) 声明时用[ ] tuple和list非常类似,但是tuple一旦初始化就不能修改  ,声明时用() classmates = ('Michael ...

  10. 匿名Lambda函数,C++

    1 // To Compile and Run: g++ -std=c++11 lambda.cc -Wall -O3 && ./a.out 2 3 4 #include <io ...