• Android工程接入UnityLibrary工程


    目录结构

    image-20230308174307367

    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也配置过;

    image-20230308180236176

    3.跳转Unity工程闪退

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

    "game_view_content_description">Game view
    

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

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

    5.打包编译il2cpp报错

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

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

    6.两个app图标

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

    
    
    
    
    
  • 相关阅读:
    React报错之Parameter ‘props‘ implicitly has an ‘any‘ type
    实验2:Arduino的nRF24L01双向收发实验
    【GNN基础学习】图模块基本定义 || 图的邻接矩阵 || GNN中常见任务有哪些? || GNN消息传递方法 || 多层GCN有什么作用?
    【Redis入门笔记 07】数据库持久化
    项目怎么同时连接mysql和oracle
    关于OxyPlot.Wpf包没有Plot控件问题
    制作一个简单HTML宠物猫网页(HTML+CSS)
    Git 笔记 - git log
    05-prometheus的联邦模式-分布式监控
    qml 两个listview共用一个listmodel,显示排斥的数据
  • 原文地址:https://www.cnblogs.com/littleperilla/p/17197370.html