Unity-huatuo热更新调研

news2024/11/29 4:48:01

文章目录

      • 1. 相关资料
      • 2. 环境准备
        • 2.1 项目和编辑器版本
        • 2.2 安装huatuo插件
        • 2.3 在build settings里面勾选Export Project
        • 2.4 导出Android studio工程
      • 3. 验证热更新
        • 3.1 更改读取目录
        • 3.2 运行android apk
        • 3.3 热更新

1. 相关资料

bilibili视频:https://www.bilibili.com/video/BV1SW4y1a7dr/?spm_id_from=autoNext&vd_source=7b7d563864f61c9cee6d3ec1f675d0c0

官方文档:https://focus-creative-games.github.io/hybridclr/index/

2. 环境准备

2.1 项目和编辑器版本

demo:https://github.com/focus-creative-games/hybridclr_trial.git

demo运行的unity版本:2020.3.33f1

在这里插入图片描述

2.2 安装huatuo插件

打开项目的init_local_il2cpp_data.sh文件,

第一步,将IL2CPP_BRANCH更改为指定的unity版本;

第二步,将IL2CPP_PATH指定为本地unity版本对应的il2cpp目录,这里将会用huatuo的il2cpp替换原unity的il2cpp;

第三步,执行init_local_il2cpp_data.sh脚本。
在这里插入图片描述

2.3 在build settings里面勾选Export Project

这样可以将工程导出成android工程,方便我们打debug包调试。
在这里插入图片描述

2.4 导出Android studio工程

在这里插入图片描述
在这里插入图片描述

3. 验证热更新

3.1 更改读取目录

原demo中,默认是从asset目录读取,不方便我们修改,将其替换成cache目录,

对应的cache目录为:/storage/emulated/0/Android/data/com.Dev.HybridCLRTrial/cache
在这里插入图片描述

3.2 运行android apk

此时,我们会看到如下界面,因为对应的cache目录里面读不到内容
在这里插入图片描述

3.3 热更新

修改HotFix文件下的代码
在这里插入图片描述
在这里插入图片描述
然后再打出bundle包
在这里插入图片描述
生成的bundle在StreamingAssets目录下
在这里插入图片描述
将其push到对应的cache目录当中,重启App,可以看到生效了
在这里插入图片描述
再更改一下代码,重新push,重启,发现已经生效了。
在这里插入图片描述
adb 脚本


import() {
    # rootImportPath="tobeimport/"
    # cd $rootImportPath

    transfer='/data/local/tmp/import/' #中转文件夹

    adb shell rm -rf $transfer
    adb shell mkdir $transfer
    

    adb push build_info $transfer
    adb push common $transfer

    adb shell run-as com.Dev.HybridCLRTrial cp -ri $transfer*  /storage/emulated/0/Android/data/com.Dev.HybridCLRTrial/cache/
}

import

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/3457.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

学院打卡第十四天

今天是一道困难题,难得有困难题!! 如题: 但是这个困难题感觉也不是很”困难“!!! 算法思想: 第一感觉就是利用栈的思想,这种题做多了,一看见就是想到栈&…

2021年上半年软件设计师下午真题及答案解析(三)

阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。 【说明】 某中医医院拟开发一套线上抓药APP,允许患者凭借该医院医生开具的处方线上抓药,并提供免费送药上门服务。该系统的主要功能描述如下: &#…

Kotlin编程实战——概述(01)

一 概述 Kotlin用于服务器开发Kotlin 进行 Android 开发Kotlin 用于 JavaScript 开发Kotlin 用于原生开发Kotlin 用于数据科学协程多平台 二 Kotlin用于服务器开发 2.1 原因 表现力可伸缩性互操作性迁移迁移工具学习曲线 2.2 Kotlin 进行服务器端开发的框架 Spring、Vert.…

Premiere 出现“该级别的帧大小/帧速率无效。请减小视频范围或帧速率,或者增加配置文件和级别,然后重试”的解决办法

有时候我们需要制作一定纵横比的视频,比如设置画面大小为1080(水平)1920(垂直)的竖屏尺寸,但是最近我导出视频时发现了 “该级别的帧大小/帧速率无效。请减小视频范围或帧速率,或者增加配置文件和级别,然后重试” 这个问题&#x…

使用插值法公式组成数字电路进行计算的计算机

使用插值法公式组成数字电路进行计算的计算机 使用插值法公式组成数字电路进行计算的计算机是一种可以使用插值法计算积分值,导数值,函数值的数字计算机,它由按键,液晶显示器,中央处理器组成。按键输入的程序保存在磁带…

【CUDA编程】CUDA内存模型

文章目录1. 内存结构2. GPU device内存2.1 寄存器(Registers)2.2 本地内存(Local Memory)2.3 共享内存(Shared Memory)2.4 常量内存(Constant Memory)2.5 纹理内存(Texture Memory)2.6 全局内存(Global Memory)3. CPU Host内存1. 内存结构 在CUDA中可编程内存的类型有&#xf…

文件管理的功能

文章目录什么是文件文件的属性文件内部的数据如何组织起来文件之间应该如何组织起来操作系统应该向上提供哪些功能从上往下看,文件应该如何存放在外存其他需要由操作系统实现的文件管理功能什么是文件 文件就是一组有意义的信息/数据集合 文件的属性 文件名&#x…

万字手撕AVL树 | 上百行的旋转你真的会了吗?【超用心超详细图文解释 | 一篇学会AVL】

说在前面 今天这篇博客,是博主今年以来最最用心的一篇博客。我们也很久没有更新数据结构系列了,几个月前博主用心深入的学习了这颗二叉平衡搜索树,博主被它的查找效率深深吸引。 AVL树出自1962年中的一篇论文《An_algorithm_for_the_organi…

计算机毕业设计(附源码)python职业高中智慧教学系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,我…

ASCII纯文本绘制流程图

我们使用纯文本写代码,有了Markdown又可以使用纯文本写文档,那么图片,能不能使用纯文本描述呢? Text Flow是什么? Text Flow:一个强大的在线ASCII流程图绘制工具,是程序员大佬们很喜爱的制作流…

【AI绘图】咒术师的评级指南

成为咒术师之路 python版本要选用3.9.7 C盘或系统缓存目录预留5G空间 咒术师评级 以下内容仅供参考。。 三级咒术师 理解咒言的使用,正向咒言,逆向咒言,构图要素的表达 二级咒术师 能够对咒物做后期调整,校正手部 一级咒术师…

Redis

1.概念:redis是一款高性能的NOSQL系列的非关系型数据库 关系型数据库:数据之间有关联关系,数据存储在硬盘的文件上 非关系型数据库:数据之间没有关联关系,数据存储在内存中 是一款用C语言开发…

猿创征文|一文吃透JAVA初学者的开发工具

✅作者简介:热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:乐趣国学的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏:CSDN活动专…

【算法】网络最大流问题,三次尝试以失败告终

文章目录开始基本思路:“反悔”机制干活尝试一:深度优先搜索尝试二:少走弯路尝试三:最短增广路径,广度优先还是没ac记两个小bug1. 数组越界2. 写错变量名小结最后一个版本的代码(C)定义类与函数…

谷雨妹子要出国

文 / 谷雨(微信公众号:王不留) 作为出差在外的实施团队中的唯一一位女生,我可以独享一个单间,晚上的备考时候不会受影响,心里倒有点美嗞嗞的。 目前工作状态是 996(早上九点到晚上九点&#xf…

常用短信平台一览,记得收藏哦

市面上的短信平台很杂很多,小到几个人的公司、大到腾讯、阿里这样的巨无霸都在做,但常用的就那么几个,因而用户的选择也存在不少的困惑。 在我看来,我觉得选择短信平台、在我看来有这几个需要的注意地方: 1、价格 无论…

Java:Session 会话详解

在介绍本篇的主角之前, 我们先复习一下 Cookie 为了实现在游览器的持久性存储和安全性考虑, 游览器提供了一个机制—— Cookie , Cookie 的储存空间很有限, 不同的游览器Cookie空间上限也不同, 一般总上限是 4k 个字节左右 (例如 Firefox), 其储存也只是按照域名进行分块存储, …

在众多编程语言中,我为什么要学Python?

前言 编程语言排行榜三剑客Java、C、C,长期统治榜首,今日python重回榜首 (文末送福利) python的前世今生 1、最新动态 TIOBE排行榜是根据互联网上有经验的程序员、课程和第三方厂商的数量,并使用搜索引擎&#xff…

【算法篇-动态规划】手撕各大背包问题 —— 01背包

背包问题1. 最基础的背包 —— 01背包 (必看)1.1 分析1.2 状态转移方程 和 边界条件1.3 代码1.3.1 代码模拟1.4 空间复杂度的优化1.4.1 错误的优化方式1.4.2 正确的优化方式1.5 终极版优化总结本文章参考自 B站 董晓算法 董晓算法 1. 最基础的背包 ——…

Linux下git和gdb的使用

🚀每日鸡汤:生活不相信眼泪,即使你把眼泪流成珍珠,灰暗的生活也不会因此而闪光。 目录 一、使用git命令行 1.1安装git、配置仓库 Ⅰ.gitignore Ⅱ.git 1.2git的基本使用 二、Linux调试器-gdb 2.1、gdb的使用 2.2、 debug与…