
自动化脚本的打包功能又称为“定制app”其本质是以冰狐App为模板构建一个功能完全相同但拥有独立品牌标识的全新应用。这一能力允许开发者将冰狐的运行时环境与自己的业务逻辑、品牌形象深度整合最终产出一个可直接分发、独立运行的APK文件。一、打包前的准备明确定制范围在开始打包之前需要先明确定制的内容。冰狐的打包功能主要涵盖以下四个维度应用基础信息应用名称、包名、版本号等。视觉与品牌元素主题颜色、启动图标、各类界面Logo、版权信息等。内置资源文件脚本文件.js、图片、音频等静态资源。登录态预设预置用户名、密码实现启动后自动登录。这四个维度基本覆盖了从一个通用工具App到专属品牌App所需的全部改造点。二、核心操作入口与流程打包功能的操作入口在平台文档中指向/manager/package_app。该页面需要登录后访问是进行所有打包配置的可视化界面。整个打包流程可以概括为以下步骤登录平台访问/manager/package_app页面使用冰狐账号登录。配置应用信息在页面中填写新的应用名称、包名、版本号上传Logo图片选择主题颜色等。上传资源文件将需要内置的脚本、图片等文件添加到打包列表中。可选设置自动登录填写父账户名、用户名和密码。提交打包任务确认配置无误后提交打包请求。平台会在服务端完成APK的构建。下载APK构建完成后下载生成的APK文件即可安装到安卓设备上使用。三、打包资源的访问机制asset:// 协议打包功能的核心价值之一在于能够将脚本、图片等文件内置到APK内部供运行时的脚本访问。这些内置文件在APK中属于Android的assets资源目录。冰狐平台为此提供了一套统一的访问协议asset:前缀。3.1 内置脚本的调用对于打包进APK的JavaScript脚本可以通过callScript或runTask函数来执行。callScript用于同步调用适合在非UI线程的后台逻辑中使用。其参数说明如下参数名类型必填说明scriptNamestring必填移动端脚本名。对于打包进APK的脚本使用asset:脚本名.js格式params...可变参数选填任意个参数会透传给脚本的main函数调用示例// 调用打包在APK中的 test.js并传递参数 12 和 abc callScript(asset:test.js, 12, abc);对应的脚本文件test.js内容如下function main(id, name) { // id: 12, name: abc console.log(id: id name: name); }runTask与callScript功能类似但会另外开启一个线程执行脚本专门用于在自定义UI代码中执行任务避免阻塞UI线程。其参数格式与callScript完全一致// 在UI代码中执行打包的 test.js runTask(asset:test.js, 12, abc);需要注意的是无论是callScript还是runTask对于内置脚本都必须使用asset:前缀来标识资源来源。平台通过这个前缀来区分“在线脚本”直接写脚本名、“本地文件脚本”写路径和“内置资源脚本”asset:前缀三种不同的脚本来源。3.2 内置图片的访问图片资源的打包与访问逻辑与脚本类似。在定制App时可以将模板图片打包进APK。在脚本中访问这些图片时同样使用asset:协议。这在自动化脚本的“找图”场景中尤为实用——将需要匹配的模板图片预先内置避免了脚本运行时需要从网络下载或依赖外部存储的麻烦。四、打包的典型应用场景4.1 品牌化分发这是最直接的应用场景。通过定制App名称、包名、Logo和主题色开发者可以将冰狐的自动化能力包装成自己品牌的产品直接面向终端用户分发而用户无需感知底层使用的是冰狐引擎。4.2 离线脚本运行冰狐的脚本默认存储在云端服务器上便于实时调试和更新。但在某些场景下开发者可能不希望将业务逻辑代码上传到云端例如涉及敏感算法或商业机密的脚本。此时可以将脚本直接打包进APK使用callScript(asset:脚本名.js)来调用。这样脚本代码仅存在于APK内部实现了完整的代码闭环。4.3 资源内置化对于依赖大量静态资源如图片模板、配置文件、音频文件的自动化任务将这些资源打包进APK可以显著提升脚本的稳定性和启动速度。无需每次运行时从网络下载也无需依赖外部存储的特定目录结构。4.4 自动登录在定制App时可以预先填写父账户名、用户名和密码。生成的新App在首次启动时会自动完成登录省去了终端用户手动输入账号密码的步骤提升了开箱即用的体验。五、注意事项登录态打包操作需要登录冰狐平台确保有足够的权限访问/manager/package_app页面。资源路径在脚本中访问内置资源时必须使用asset:前缀且路径相对于APK的assets目录。例如asset:images/template.png。脚本入口被调用的内置脚本必须导出main函数作为入口callScript和runTask传递的参数会直接传给这个main函数。线程模型在UI相关的代码中执行内置脚本应使用runTask异步、新线程在后台逻辑中执行应使用callScript同步、当前线程。包名唯一性生成的APK包名需要在安卓系统层面保持唯一如果与设备上已安装的应用包名冲突将无法安装。结语冰狐智能辅助的打包功能定制App提供了一条从“工具使用”到“产品交付”的完整路径。通过/manager/package_app的可视化界面开发者可以完成应用品牌信息的配置通过asset:协议和callScript/runTaskAPI可以实现脚本与资源的离线化内置。无论是品牌化分发、离线运行还是资源内置这套机制都为自动化脚本的工业化交付提供了坚实的基础设施。