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资源的更多相关文章

  1. 利用Maven把项目生成jar包供其他项目使用

    每当搭建框架时,第一步就是为系统整理一个接一个的jar包.用多了就开始深思,如何把自己的项目也整成jar包,供他人使用呢? 近期一直在看徐晓斌所著:<Maven实战>.因自己学识不够,只是 ...

  2. storm学习之六-使用Maven 生成jar包多种方式

    Maven可以使用mvn package指令对项目进行打包,如果使用java -jar xxx.jar执行运行jar文件,会出现"no main manifest attribute, in ...

  3. 在VS中自动生成NuGet包以及搭建自己的或单位内部的NuGet服务器

    关于NuGet的介绍已经很多,可以参考下面的: NuGet学习笔记(1)--初识NuGet及快速安装使用 http://kb.cnblogs.com/page/143190/ NuGet学习笔记(2) ...

  4. 基于 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 时代,包括其插件在需要时就引 ...

  5. IDEA修改jar包中class文件后重新生成jar包

    一.背景 最新想要修改rebeyond大佬的冰蝎项目,特地去网上搜索如何修改jar包中的源码再替换回去的方法,但由于现在的一些文章写的太烂,导致走了很多弯路,因此写下这篇快速使用IDEA修改源码并替换 ...

  6. Unity生成AB包和加载AB包

    unity生成AB包 生产AB包,编辑器脚本放在Editor文件夹下(切记) 如果你是PC包 BuildTarget.WebGL  后面要改成PC (BuildTarget.StandaloneWin ...

  7. android studio 生成aar包并在其他工程引用 (导入)aar包

    1.aar包是Android studio下打包android工程中src.res.lib后生成的aar文件,aar包导入其他android studio 工程后,其他工程可以方便引用源码和资源文件 ...

  8. 利用Ant脚本生成war包的详细步骤

    使用ant脚本前的准备 1.下载一个ant安装包.如:apache-ant-1.8.4-bin.zip.解压到E盘. 2.配置环境变量.新增ANT_HOME:E:\apache-ant-1.8.4:P ...

  9. Eclipse如何生成jar包

    Eclipse如何生成jar包 图1 右击项目Properites,选择Android,选择Is Library,然后会编译生成jar包在bin目录下.

  10. Linux下编译java并生成jar包

    下面是WordCount.java类 package com.ll; import java.io.IOException; import java.util.Iterator; import jav ...

随机推荐

  1. cdh版本 livy部署

    1.livy部署主要就是依赖spark_home的环境变量 如何找到spark_home在哪 locate spark-shell locate是个linux找文件的命令,直接找到该目录

  2. Navicat 连接SQL Server LocalDB的方法

    截止2021年11月,Sql Server LocalDB的资料网上并不多见,出来了其实也有一段年头了. SqlServerManagerStudio自带的工具进行查询使用体验并不好,Navicat是 ...

  3. Linux 提权-SUID/SGID_1

    本文通过 Google 翻译 SUID | SGID Part-1 – Linux Privilege Escalation 这篇文章所产生,本人仅是对机器翻译中部分表达别扭的字词进行了校正及个别注释 ...

  4. C++ 中的 lowbit

    lowbit 的定义 首先了解 lowbit 的定义 \(lowbit(n)\) ,为 \(n\) 的二进制原码中最低的一位 \(1\) 以及其后面的 \(0\) 所表示的数 举个简单的例子: 将 \ ...

  5. Solo 开发者周刊 (第4期):什么样的新科技,能提高生活效率?

    这里会整合 Solo 社区每周推广内容.产品模块或活动投稿,每周五发布.在这期周刊中,我们将深入探讨开源软件产品的开发旅程,分享来自一线独立开发者的经验和见解.本杂志开源,欢迎投稿. 好文推荐 AI生 ...

  6. 解决方案 | Chrome/Edge 总是自动修改我的pdf默认打开方式

    1.问题描述 最近我的pdf文件总是被chrome打开(如图1),而且点击属性,更改别的pdf阅读器也不管用(如图2),此时的chrome就像个流氓软件一样. 图1 被chrome劫持 图2 点击属性 ...

  7. SQL查询语句汇总

    SQL查询语句汇总 students表 id class_id name gender score 1 1 小明 M 90 2 1 小红 F 95 class表 id name 1 一班 2 二班 3 ...

  8. 在Visual Studio Code中,鼠标双击PHP变量的时候,如何选择包括$在内的整个变量名

    依次点击:文件->首选项->设置 并在"editor.wordSeparators"设置中为您的语言指定删除"$"符号:

  9. windows安装PHP的redis

    一定要先看vc版本和位 配置php的redis扩展 以php7.3 nts版为例,不同的php版本对应不通的redis扩展:下载扩展文件:https://windows.php.net/downloa ...

  10. 输入Javac提示不是内部或外部命令

    先去百度搜索"jdk下载"下载最新版jdk,并安装,安装目录不用去更改,直接默认就好,下载完了之后,双击打开安装,jdk安装完成后,会接着安装jre包,(jre和jdk是配对的,不 ...