Unreal使用GooglePAD生成AAB包,并加在fast-follow资源
1.修改obbfilter,设置需要添加到obb的pak文件
2.修改项目设置,打AAB包
3.cook stage生成所有Paks文件
4.将部分pak文件拷贝到Intermediate/Android/arm64/gradle/assetpacks/fast-follow/包名/src/main/assets文件夹下,GooglePad插件的XML会自动将ast-follow/XXXX文件夹识别为fast-follow包,install-time不需要设置,默认会把obb打进去
5.打包完成后,安装AAB文件,使用GooglePad api读取Fast-follow资源
点击查看代码
int32 GetStatus(EGooglePADDownloadStatus& InDownResult)
{
int32 TmpDownloadStatus = -1;
EGooglePADErrorCode res3 = UGooglePADFunctionLibrary::GetDownloadState("SecPaks", TmpDownloadStatus);
InDownResult = UGooglePADFunctionLibrary::GetDownloadStatus(TmpDownloadStatus);
UE_LOG(GoogleAAB, Log, TEXT("chenghh download status: %d"), static_cast<int32>(InDownResult));
return TmpDownloadStatus;
}
void UHotUpdateManager::StartAssetDownload()
{
IPlatformFile& PlatformFile = FPlatformFileManager::Get().GetPlatformFile();
EGooglePADErrorCode res1 = UGooglePADFunctionLibrary::RequestInfo({"SecPaks"});
UE_LOG(GoogleAAB, Log, TEXT("RequestInfo result: %d"), static_cast<int32>(res1));
EGooglePADErrorCode res2 = UGooglePADFunctionLibrary::RequestDownload({"SecPaks"});
UE_LOG(GoogleAAB, Log, TEXT("RequestDownload result: %d"), static_cast<int32>(res2));
EGooglePADDownloadStatus GetStatusRes = EGooglePADDownloadStatus::AssetPack_UNKNOWN;
int32 StateId = GetStatus(GetStatusRes);
while (GetStatusRes != EGooglePADDownloadStatus::AssetPack_DOWNLOAD_COMPLETED)
{
UGooglePADFunctionLibrary::ReleaseDownloadState(StateId);
StateId = GetStatus(GetStatusRes);
}
int32 Location = -1;
EGooglePADErrorCode Code = UGooglePADFunctionLibrary::GetAssetPackLocation("SecPaks", Location);
UE_LOG(GoogleAAB, Log, TEXT("Asset pack location: %d"), Location);
FString AssetPath = UGooglePADFunctionLibrary::GetAssetsPath(Location);
if (!AssetPath.IsEmpty())
{
PlatformFile.DirectoryExists(*AssetPath);
UE_LOG(GoogleAAB, Log, TEXT("Asset pack Path: %s"), *AssetPath);
FString PakAssetPath = AssetPath + "/Paks";
if (PlatformFile.DirectoryExists(*PakAssetPath))
{
PlatformFile.FindFiles(AssetNames, *PakAssetPath, TEXT(".pak"));
........
}
}
UGooglePADFunctionLibrary::ReleaseAssetPackLocation(Location);
UGooglePADFunctionLibrary::ReleaseDownloadState(StateId);
}
Unreal使用GooglePAD生成AAB包,并加在fast-follow资源的更多相关文章
- 利用Maven把项目生成jar包供其他项目使用
每当搭建框架时,第一步就是为系统整理一个接一个的jar包.用多了就开始深思,如何把自己的项目也整成jar包,供他人使用呢? 近期一直在看徐晓斌所著:<Maven实战>.因自己学识不够,只是 ...
- storm学习之六-使用Maven 生成jar包多种方式
Maven可以使用mvn package指令对项目进行打包,如果使用java -jar xxx.jar执行运行jar文件,会出现"no main manifest attribute, in ...
- 在VS中自动生成NuGet包以及搭建自己的或单位内部的NuGet服务器
关于NuGet的介绍已经很多,可以参考下面的: NuGet学习笔记(1)--初识NuGet及快速安装使用 http://kb.cnblogs.com/page/143190/ NuGet学习笔记(2) ...
- 基于 Vue.js 之 iView UI 框架非工程化实践记要 使用 Newtonsoft.Json 操作 JSON 字符串 基于.net core实现项目自动编译、并生成nuget包 webpack + vue 在dev和production模式下的小小区别 这样入门asp.net core 之 静态文件 这样入门asp.net core,如何
基于 Vue.js 之 iView UI 框架非工程化实践记要 像我们平日里做惯了 Java 或者 .NET 这种后端程序员,对于前端的认识还常常停留在 jQuery 时代,包括其插件在需要时就引 ...
- IDEA修改jar包中class文件后重新生成jar包
一.背景 最新想要修改rebeyond大佬的冰蝎项目,特地去网上搜索如何修改jar包中的源码再替换回去的方法,但由于现在的一些文章写的太烂,导致走了很多弯路,因此写下这篇快速使用IDEA修改源码并替换 ...
- Unity生成AB包和加载AB包
unity生成AB包 生产AB包,编辑器脚本放在Editor文件夹下(切记) 如果你是PC包 BuildTarget.WebGL 后面要改成PC (BuildTarget.StandaloneWin ...
- android studio 生成aar包并在其他工程引用 (导入)aar包
1.aar包是Android studio下打包android工程中src.res.lib后生成的aar文件,aar包导入其他android studio 工程后,其他工程可以方便引用源码和资源文件 ...
- 利用Ant脚本生成war包的详细步骤
使用ant脚本前的准备 1.下载一个ant安装包.如:apache-ant-1.8.4-bin.zip.解压到E盘. 2.配置环境变量.新增ANT_HOME:E:\apache-ant-1.8.4:P ...
- Eclipse如何生成jar包
Eclipse如何生成jar包 图1 右击项目Properites,选择Android,选择Is Library,然后会编译生成jar包在bin目录下.
- Linux下编译java并生成jar包
下面是WordCount.java类 package com.ll; import java.io.IOException; import java.util.Iterator; import jav ...
随机推荐
- 有点儿神奇,原来vue3的setup语法糖中组件无需注册因为这个
前言 众所周知,在vue2的时候使用一个vue组件要么全局注册,要么局部注册.但是在setup语法糖中直接将组件import导入无需注册就可以使用,你知道这是为什么呢?注:本文中使用的vue版本为3. ...
- 使用 GPU 进行 Lightmap 烘焙 - 简单 demo
作者:i_dovelemon 日期:2024-06-16 主题:Lightmap, PathTracer, Compute Shader 引言 一直以来,我都对离线 bake lightmap 操作很 ...
- 计算订单签收率的sql查询思路与过程(涉及百分比和四舍五入)
领导提出一个签收率需求,想要通过数据库达到excel中表现的形式,提高计算速度和工作效率, 如下形式: 数据库中表数据结构: 部分数据如下: sql语句思路如下: -- 1.已签收:以物流反馈管道,状 ...
- SqlCel 和MySQL for Excel在批量处理数据上的优劣
先放MySQL for Excel编辑数据的界面, 理论上可以批量修改数据....但是: 百度翻译如下: 更改不被允许.....[经测试,64位的Excel出现同样的情况] 转换思路:不使用公式去匹配 ...
- Element-plus的徽章组件el-badge
Element-plus的徽章组件el-badge Element Plus 是一个基于 Vue.js 的 UI 组件库,它提供了一系列的常用 UI 组件供开发者使用.其中,徽章组件(el-badge ...
- [oeasy]python0031_挂起进程_恢复进程_进程切换
查看进程 回忆上次内容 上次修改了 $PATH 路径 把当前用户shiyanlou的宿主文件夹 ~ 添加到 $PATH 中 这样 sleep.py 就可以被找到 于是就可以被执行了 还可以把配置 ...
- Win10下安装LabelImg以及使用--LabelImg
labelImg是图片标注软件,用于数据集的制作.标注等等.下面介绍labelImg的安装过程. 我用的是anaconda,所以以anaconda prompt作为终端: 在Anaconda Prom ...
- vue小知识:多层数据双向相应之向上派发和向下派发($dispatch和$broadcast)
注意:这两个实例已经在vue3中弃用啦!!!(所以不详细说了,封装知道怎么用就行了,作为了解) 都是在vue实例配置(main.js) 向上派发:$dispatch 注意,在相应后代组件中使用 thi ...
- P10507 Georgia and Bob 题解
思路 对棋子坐标排序,\(x_{i}-x_{i-1}-1\) 就是棋子可以移动的距离. 移动第 \(i\) 个棋子,相当于将 \(i+1\) 的移动范围扩大. 这于是变形成了一个台阶 nim 博弈论. ...
- 兼容sentry协议的轻量级监控,glitchtip
前言 上一篇文章说了重启 sentry 的事 因为过程太折腾了,一度想过放弃 sentry 换成其他比较轻量级的开源监控系统 这不就给我找到了另外俩个 https://glitchtip.com/ h ...