JOBB

expansion 工具,打包 obb必备

JOBB

The jobb tool allows you to build encrypted and unencrypted APK expansion files in Opaque Binary Blob (OBB) format. You can download and mount these expansion files in your application using StorageManager on devices with Android 2.3 (API Level 9) or higher. OBB files are used to provide additional file assets for Android applications (such as graphics, sounds and video), separate from an application's APK file. For more information on using expansion files, see APK Expansion Files.

Usage


The syntax for running jobb is as follows:

jobb [-d <directory>][-o <filename>][-pn <package>][-pv <version>] \
     [-k <key>][-ov][-dump <filename>][-v][-about]

You can use the jobb tool to create an OBB file or extract the contents of anexisting OBB. The following example command creates an OBB file from source files.

$ jobb -d /temp/assets/ -o my-app-assets.obb -k secret-key -pn com.my.app.package -pv 11

This example shows how to dump (extract) the contents of an existing OBB file:

$ jobb -d /temp/obb-output/ -o my-app-assets.obb -k secret-key

Options


The table below lists the command line options for the jobb tool.

OptionDescription
-d <directory>Set the input directory for creating an OBB file, or the output directory when extracting (-dump) an existing file. When creating an OBB file, the contents of the specified directory and all its sub-directories are included in the OBB file system.
-o <filename>Specify the filename for the OBB file. This parameter is required when creating an OBB and extracting (dumping) its contents.
-pn <package>Specify the package name for the application that mounts the OBB file, which corresponds to the package value specified in your application's manifest. This parameter is required when creating an OBB file.
-pv <version>Set the minimum version for the application that can mount the OBB file, which corresponds to the android:versionCode value in your application's manifest. This parameter is required when creating an OBB file.
-k <key>Specify a password for encrypting a new OBB file or decrypting an existing, encypted OBB file.
-ovCreate OBB file that is an overlay of an existing OBB file structure. This option allows the new package contents to be mounted into the same location as a previous package and is intended for creating patch versions of previously generated OBB files. Files within an overlay OBB file replace files that have the same path.
-dump <filename>

Extract the contents of the specified OBB file. When using this option, you must also specify the output directory for the contents using the -d <directory> parameter.

Note: When dumping an existing OBB file, you can omit the -d <directory> parameter to get a listing of the directories inside the file, without extracting the contents.

-vSet verbose output for the tool.
-aboutDisplay version and help information for the jobb tool.
### Azkaban 多 Flow 配置及 Flow 之间依赖关系配置方法 Azkaban 支持在一个项目中定义多个 Flow,每个 Flow 是一个独立的工作流,通过 `.flow` 文件描述其结构。多个 Flow 可以共享同一个项目,并通过配置实现 Flow 之间的依赖关系。 #### 配置多个 Flow 在项目目录下,可以创建多个 `.flow` 文件,每个文件代表一个 Flow。例如: ```yaml # flow1.flow nodes: - name: jobA type: command config: command: echo "This is jobA in flow1" - name: jobB type: command config: command: echo "This is jobB in flow1" ``` ```yaml # flow2.flow nodes: - name: jobX type: command config: command: echo "This is jobX in flow2" - name: jobY type: command config: command: echo "This is jobY in flow2" ``` 上述两个 `.flow` 文件分别定义了 `flow1` 和 `flow2`,每个 Flow 包含两个 Job 节点。Azkaban 会将这些 Flow 识别为同一个项目下的独立工作流。 #### Flow 之间的依赖配置 Azkaban 提供了跨 Flow 的依赖机制,可以通过 `flow.conditional` 实现 Flow 之间的调度控制。例如,`flow2` 可以依赖 `flow1` 的执行状态,确保 `flow1` 成功完成后,`flow2` 才会开始执行。 ```yaml # flow2.flow config: flow.conditional: - flow1: SUCCESS nodes: - name: jobX type: command config: command: echo "This is jobX in flow2" - name: jobY type: command config: command: echo "This is jobY in flow2" ``` 在上述配置中,`flow2` 的执行依赖于 `flow1` 的状态,只有当 `flow1` 成功完成时,`flow2` 才会被触发执行。 #### 错误分析:`Unable to find property 'dependencies' on class: azkaban.project.NodeBean` Azkaban 的 `.flow` 文件中,每个 Job 节点的依赖关系应通过 `dependencies` 字段定义。如果出现 `Unable to find property 'dependencies' on class: azkaban.project.NodeBean` 错误,则说明 `.flow` 文件的结构配置有误。 正确的依赖配置格式如下: ```yaml # flow1.flow nodes: - name: jobA type: command config: command: echo "This is jobA in flow1" - name: jobB type: command config: command: echo "This is jobB in flow1" dependencies: jobB: jobA ``` 上述配置中,`dependencies` 是整个 Flow 的顶层字段,用于定义 Job 节点之间的依赖关系。如果将 `dependencies` 错误地嵌套在某个 Job 节点内部,会导致解析失败。 #### 参数传递与共享 Azkaban 支持在 Flow 之间传递参数,通过 `param` 字段定义共享变量。例如: ```yaml # flow1.flow config: param: message: "Hello from flow1" nodes: - name: jobA type: command config: command: echo ${message} ``` 在 `flow2` 中可以引用该参数: ```yaml # flow2.flow config: flow.conditional: - flow1: SUCCESS param: message: "Hello from flow2" nodes: - name: jobX type: command config: command: echo ${message} ``` 上述配置中,`flow2` 引用了 `flow1` 定义的 `message` 参数,并在其内部进行了覆盖。这种机制支持跨 Flow 的上下文共享和参数传递。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值