打包系统开发后台操作手册
<h1>打包系统开发后台操作手册</h1>
<p>[TOC]</p>
<h1>1.综述</h1>
<ul>
<li>打包系统开发后台:打包资源和配置的内容管理平台,主要为打包系统前台提供SDK资源和参数配置,并支持打包脚本控制和打包记录查看。</li>
<li>用户:Android MSSDK客户端开发,打包脚本开发。</li>
<li>打包:Android外放包体制作过程,涉及APK反编译、SDK资源合并、SDK配置、APK加固和签名等流程。</li>
</ul>
<h3>1.1功能简介</h3>
<ul>
<li>提供以下SDK管理、配置管理和打包监管功能,关联打包系统前台的数据获取,实时管理打包的资源和内容。
<ol>
<li>SDK管理:公共框架、渠道SDK、插件SDK。</li>
<li>配置管理:签名证书、定制需求脚本。</li>
<li>打包监管:打包脚本控制、打包任务记录。</li>
</ol></li>
</ul>
<h3>1.2域名地址</h3>
<ul>
<li>微服务控制台:<a href="http://ms.cloud.idreamsky.com/">http://ms.cloud.idreamsky.com/</a></li>
</ul>
<h3>1.3帐号申请</h3>
<ul>
<li>
<p>推荐使用飞书登录,账号权限可咨询「技术中台-技术平台部-平台产品组」获取。</p>
</li>
<li><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/6ea27f33ebf6ac270ead25a83119fe2e?showdoc=.jpg" alt="" /></li>
</ul>
<h3>1.4功能入口</h3>
<ul>
<li>在微服务控制台的服务列表,找到「渠道打包」服务。</li>
<li>
<p><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/25684d8980afc088d0ec2af1f2a0633a?showdoc=.jpg" alt="" /></p>
</li>
<li>点击服务名称「渠道打包」进入。</li>
<li><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/36c7c1fb3e93e88b2195e0cf24c103d3?showdoc=.jpg" alt="" /></li>
</ul>
<h2>2.SDK管理</h2>
<ul>
<li>公共框架、渠道和插件SDK的参数配置和资源发布。</li>
</ul>
<h3>2.1公共框架</h3>
<ul>
<li>公共框架:乐逗SDK核心层、底层公共模块,不掺杂具体的业务逻辑,全渠道打包通用且默认接入的模块。</li>
<li><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/6c2487b6d6b3872805333c09f42943a5?showdoc=.jpg" alt="" /></li>
</ul>
<h3>2.1.1添加公共框架</h3>
<ul>
<li>入口:点击「公共框架列表」右上方「添加」按钮。</li>
<li>
<p>配置项:</p>
<ol>
<li>系统平台选择:Android、iOS、小程序;</li>
<li>SDK资源:支持.aar文件,目录结构要求publicSDK-{SDK版本号};</li>
<li>SDK资源版本:直接读取SDK资源上传文件命名的SDK版本号</li>
<li>更新内容:SDK开发自定义输入更新日志。</li>
</ol>
</li>
<li><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/41950475fb4d189740fe2b94b10ab1da?showdoc=.jpg" alt="" /></li>
</ul>
<h3>2.1.2管理公共框架</h3>
<ul>
<li>启用:有且只能启用一个版本的公共框架,启用需要弹窗确认,启用版本将会全游戏全渠道打包接入。</li>
<li>删除:启用状态下的公共框不支持删除,只有停用状态才可删除,删除需要弹窗确认。</li>
<li>搜索:在列表上方可输入版本进行搜索。</li>
</ul>
<h2>2.2渠道SDK</h2>
<h3>2.2.1关键定义</h3>
<ul>
<li>渠道SDK:渠道商要求上架应用必须接入的软件开发工具包,主要集成登录和支付为核心功能。</li>
<li>渠道SDK标识:渠道SDK的唯一标识,用于客户端和服务端登录、支付方式的类型标记。</li>
<li>渠道客户端参数:指乐逗MSSDK客户端调用渠道SDK接口需要传入的应用参数,在渠道商开发者平台注册应用时生成。</li>
<li>渠道SDK资源:渠道SDK的软件开发工具包,主要包含.so库、jar包、图片和字符串资源等。</li>
<li><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/02c3c87fc4ecdc41d62661111bff95ce?showdoc=.jpg" alt="" /></li>
</ul>
<h3>2.2.2添加渠道SDK</h3>
<ul>
<li>入口:点击渠道SDK列表右上方的「添加」按钮。
<ol>
<li>基本参数</li>
</ol></li>
<li><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/bb46ef12e4b87c734cc38f6e8cea12ac?showdoc=.jpg" alt="" /></li>
<li>渠道SDK名称:自定义输入,被用于打包系统前台展示。</li>
<li>渠道SDK标识:从「服务控制台-渠道发行-服务端参数项-维度值标识」获取数据,从而与服务端参的渠道SDK保持一致。</li>
<li>系统平台:选择平台类型。</li>
<li>支持应用类型: 按照渠道商开放平台发布SDK所定义的支持应用类型。</li>
</ul>
<p>2.渠道SDK规范</p>
<ul>
<li><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/158c3bed15e790e9fbb3a4833f2bbefe?showdoc=.jpg" alt="" /></li>
<li>渠道定制资源:icon、闪屏根据渠道规则开启与否,决定「打包系统-打包配置管理-打包模板-渠道SDK配置-渠道定制-资源」是否展示相关入口。</li>
<li>应用启动activity:选择接入此渠道SDK的游戏包体启动activity,默认游戏主启动,乐逗闪屏需配合「渠道定制资源-闪屏」一起使用,也支持自定义输入。</li>
<li>第三方渠道号:按照渠道规则选择有或无,决定「打包系统-打包配置管理-打包模板-渠道SDK配置-第三方渠道号」展示配置入口与否。</li>
<li>屏幕方向:按渠道要求选择AndroidManifest.xml组件的screenOrientation处理方式,打包脚本会针对性处理,主要影响渠道SDK UI的横竖屏展示和变化。</li>
</ul>
<p>3.客户端参数</p>
<ul>
<li><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/3129d3028a208509a144624674dacab4?showdoc=.jpg" alt="" /></li>
<li>参数项名称、参数描述:决定「打包系统-打包配置管理-打包模版-渠道SDK配置-客户端参数」展示内容。</li>
<li>key:客户端参数在代码层面识别的参数名称,如qq_app_id、baiduAppKey。</li>
<li>value:参数值,由用户在打包系统前台针对应用配置对于参数值。</li>
<li>参数类型:决定参数配置的目标文件和方式。
msConfig: 将key-value键值对写入到MSSDK配置文件msConfig.json中。
manifest_replace:在AndroidManifest.xml中选择需要被替换的key,用户在打包系统填写对应替换值value。
manifest_meta_data:将key和value作为<meta-data的name和value,写入到AndroidManifest.xml中。
msConfig_channel:将key-value键值对写入到MSSDK配置文件msConfig.json中的channel_sdk_param子项中。</li>
</ul>
<p>4.客户端文件</p>
<ul>
<li>客户端文件:指以文件形式配置客户端参数,如应用宝YSDK要求在assets/ysdkconig.ini文件中填写应用的手Q、微信和米大师参数。</li>
<li><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/cbb4bc35a8e6362c9cfc254b0399d905?showdoc=.jpg" alt="" /></li>
<li>文件名称、参数描述:决定「打包系统-打包配置管理-打包模版-渠道SDK配置-客户端替换文件」展示内容。</li>
<li>被替换文件完整目录:填写配置文件的绝对目录,如应用宝YSDK的assets/ysdkconig.ini,用于打包脚本对文件的定位。</li>
<li>value:由用户在打包系统上传文件。</li>
<li>上传模版:上传客户端文件的配置模版,用户可在打包系统配置页面下载参考模版。</li>
<li><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/414c0010ac78d60568bf092258a5d0e1?showdoc=.jpg" alt="" /></li>
</ul>
<h3>2.2.2管理渠道SDK资源</h3>
<ul>
<li>入口:点击渠道SDK列表的「最新资源版本」字段。</li>
<li><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/a2a94d89a423e2e72ed0d174e37082d9?showdoc=.jpg" alt="" /></li>
</ul>
<h4>2.2.2.1添加渠道SDK资源</h4>
<ul>
<li>入口:点击渠道SDK资源列表右上方「添加」</li>
<li><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/14523724bc6cbdb7b29517d0c5dda8c1?showdoc=.jpg" alt="" /></li>
<li>配置项:
1.渠道SDK资源:必填项,校验.aar格式和命名规则(渠道SDK标识-版本号)
2.SDK源文件:选填项,支持.java文件
3.SDK资源版本:从上传文件命名规则获取并显示。
4.更新内容:必填项,支持用户填入渠道SDK更新日志。
5.覆盖上传:需要弹窗确认。</li>
</ul>
<h4>2.2.2.2下载渠道SDK资源</h4>
<ul>
<li>入口:点击渠道SDK资源列表操作栏中「下载」</li>
<li>功能说明:下载SDK资源到本地。
<h4>2.2.2.3停用渠道SDK资源</h4></li>
<li>入口:点击渠道SDK资源列表操作栏中「停用」</li>
<li>功能说明:启用状态的SDK才可停用,一旦停用打包系统无法选择此版本的SDK打包。
<h4>2.2.2.4启用渠道SDK资源</h4></li>
<li>入口:点击渠道SDK资源列表操作栏中「启用」</li>
<li>功能说明:停用状态的SDK才可启用,一旦启用打包系统即可选择此版本的SDK打包。
<h4>2.2.2.5删除渠道SDK资源</h4></li>
<li>入口:点击渠道SDK资源列表操作栏中「删除」</li>
<li>功能说明:停用状态的SDK才可删除,一旦删除打包系统无法选择此版本的SDK打包,并删除配置数据。</li>
</ul>
<h3>2.2.3管理渠道SDK</h3>
<ul>
<li><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/66bec8b1b84b42320c1dc914ca5fc2ed?showdoc=.jpg" alt="" />
<h4>2.2.3.1快速查看客户端参数</h4></li>
<li>入口:点击渠道SDK列表中「客户端参数」栏的「查看详情」
<h4>2.2.3.1编辑渠道SDK</h4></li>
<li>入口:点击渠道SDK列表中「操作」栏的「编辑」
<h4>2.2.3.2停用渠道SDK</h4></li>
<li>入口:点击渠道SDK列表中「操作」栏的「停用」</li>
<li>功能说明:启用状态的渠道SDK才可停用,一旦停用打包系统无法选择此渠道SDK打包。
<h4>2.2.3.3启用渠道SDK</h4></li>
<li>入口:点击渠道SDK列表操作栏中「启用」</li>
<li>功能说明:停用状态的渠道SDK才可启用,一旦启用打包系统即可选择此渠道SDK打包。
<h4>2.2.3.4删除渠道SDK</h4></li>
<li>入口:点击渠道SDK资源列表操作栏中「删除」</li>
<li>功能说明:停用状态的渠道SDK才可删除,一旦删除打包系统无法选择渠道SDK打包,并删除配置数据。</li>
</ul>
<h2>2.3插件SDK</h2>
<h3>2.3.1关键定义</h3>
<ul>
<li>插件SDK:Android MSSDK以插件形式封装的功能SDK,支持用户按需接入或默认接入。</li>
<li>插件SDK资源:插件提供者要求应用必须接入的软件开发工具包,集成插件功能时在客户端接入。</li>
<li>插件客户端参数:指乐逗MSSDK客户端调用插件SDK接口需要传入的应用参数,在插件开发者平台注册应用时生成,或插件开发人员直接提供,如极光AppID。</li>
<li>应用插件:支持用户在打包系统按打包模板自助选用的插件</li>
<li>基础插件:在打包系统不显示,不支持选用,供打包脚本默认使用的插件。</li>
<li><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/33cef2ecada0052d615aacfb2019db4b?showdoc=.jpg" alt="" /></li>
</ul>
<h3>2.3.1添加插件SDK</h3>
<ul>
<li>入口:点击插件SDK列表右上方的「添加」按钮。
<ol>
<li>基本参数</li>
</ol></li>
<li><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/eb6459aee2239808497ca6ef5f372e46?showdoc=.jpg" alt="" /></li>
<li>插件SDK名称:自定义输入,被用于打包系统前台展示。</li>
<li>插件SDK标识:定义输入,1-50个字符,保存后不可修改,用于后端与打包脚本识别插件。</li>
<li>系统平台:选择平台类型。</li>
<li>插件类型: 选择应用插件或基础插件。</li>
<li>图标(可选):用于打包系统前台显示。</li>
<li>插件介绍:插件功能简要描述,用于打包系统前台展示,以便用户理解插件功能。</li>
</ul>
<p>2.插件SDK规范</p>
<ul>
<li><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/35404d32cccb4bd1fa0099788745b7f8?showdoc=.jpg" alt="" /></li>
<li>屏幕方向:按插件要求选择AndroidManifest.xml组件的screenOrientation处理方式,打包脚本会针对性处理,主要影响插件SDK UI的横竖屏展示和变化。。</li>
</ul>
<p>3.客户端参数</p>
<ul>
<li><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/3129d3028a208509a144624674dacab4?showdoc=.jpg" alt="" /></li>
<li>参数项名称、参数描述:决定「打包系统-打包配置管理-打包模版-插件配置-XX插件-客户端参数」展示内容。</li>
<li>key:客户端参数在代码层面识别的参数名称,如qq_app_id、baiduAppKey。</li>
<li>value:参数值,由用户在打包系统前台针对应用配置对于参数值。</li>
<li>参数类型:决定参数配置的目标文件和方式。
msConfig: 将key-value键值对写入到MSSDK配置文件msConfig.json中。
manifest_replace:在AndroidManifest.xml中选择需要被替换的key,用户在打包系统填写对应替换值value。
manifest_meta_data:将key和value作为<meta-data的name和value,写入到AndroidManifest.xml中。
msConfig_channel:将key-value键值对写入到MSSDK配置文件msConfig.json中的channel_sdk_param子项中。</li>
</ul>
<p>4.客户端文件</p>
<ul>
<li>客户端文件:指以文件形式配置客户端参数。</li>
<li><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/cbb4bc35a8e6362c9cfc254b0399d905?showdoc=.jpg" alt="" /></li>
<li>文件名称、参数描述:决定「打包系统-打包配置管理-打包模版-插件配置-XX插件-客户端替换文件」展示内容。</li>
<li>被替换文件完整目录:填写配置文件的绝对目录,用于打包脚本对文件的定位。</li>
<li>value:由用户在打包系统上传文件。</li>
<li>上传模版:上传客户端文件的配置模版,用户可在打包系统配置页面下载参考模版。</li>
</ul>
<h3>2.3.2管理插件SDK资源</h3>
<ul>
<li>入口:点击插件SDK列表的「最新资源版本」字段。</li>
<li><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/2839329609ae42c848091841b4c7752d?showdoc=.jpg" alt="" /></li>
</ul>
<h4>2.3.2.1添加插件SDK资源</h4>
<ul>
<li>入口:点击插件SDK资源列表右上方「添加」</li>
<li><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/c3f6f1ef221c7864fb14640df9312225?showdoc=.jpg" alt="" /></li>
<li>配置项:
1.插件SDK资源:必填项,校验.aar格式和命名规则(插件SDK标识-版本号)
2.SDK源文件:选填项,支持.java文件
3.SDK资源版本:从上传文件命名规则获取并显示。
4.更新内容:必填项,支持用户填入插件SDK更新日志。
5.覆盖上传:需要弹窗确认。</li>
</ul>
<h4>2.3.2.2下载插件SDK资源</h4>
<ul>
<li>入口:点击插件SDK资源列表操作栏中「下载」</li>
<li>功能说明:下载SDK资源到本地。
<h4>2.3.2.3停用插件SDK资源</h4></li>
<li>入口:点击插件SDK资源列表操作栏中「停用」</li>
<li>功能说明:启用状态的SDK才可停用,一旦停用打包系统无法选择此版本的SDK打包。
<h4>2.3.2.4启用插件SDK资源</h4></li>
<li>入口:点击插件SDK资源列表操作栏中「启用」</li>
<li>功能说明:停用状态的SDK才可启用,一旦启用打包系统即可选择此版本的SDK打包。
<h4>2.3.2.5删除插件SDK资源</h4></li>
<li>入口:点击插件SDK资源列表操作栏中「删除」</li>
<li>功能说明:停用状态的SDK才可删除,一旦删除打包系统无法选择此版本的SDK打包,并删除配置数据。</li>
</ul>
<h3>2.3.3管理插件SDK</h3>
<ul>
<li><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/c75ac6249267a85e2d5d7ee7db051163?showdoc=.jpg" alt="" />
<h4>2.3.3.1快速查看客户端参数</h4></li>
<li>入口:点击插件SDK列表中「客户端参数」栏的「查看详情」
<h4>2.3.3.1编辑插件SDK</h4></li>
<li>入口:点击插件SDK列表中「操作」栏的「编辑」
<h4>2.3.3.2停用插件SDK</h4></li>
<li>入口:点击插件SDK列表中「操作」栏的「停用」</li>
<li>功能说明:启用状态的插件SDK才可停用,一旦停用打包系统无法选择此插件SDK打包。
<h4>2.3.3.3启用插件SDK</h4></li>
<li>入口:点击渠道SDK列表操作栏中「启用」</li>
<li>功能说明:停用状态的插件SDK才可启用,一旦启用打包系统即可选择此插件SDK打包。
<h4>2.3.3.4删除插件SDK</h4></li>
<li>入口:点击渠道SDK资源列表操作栏中「删除」</li>
<li>功能说明:停用状态的插件SDK才可删除,一旦删除打包系统无法选择插件SDK打包,并删除配置数据。</li>
</ul>
<h2>3配置管理</h2>
<h3>3.1签名证书</h3>
<ul>
<li>支持打包系统运营人员对于签名证书的管理,满足打包系统前台选择证书进行打包。</li>
<li><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/55c0fd14c0ef0bb84538c2015a8c0d17?showdoc=.jpg" alt="" />
<h4>3.1.1关键定义</h4></li>
<li>签名证书:Android要求所有已安装的应用程序都使用数字证书做数字签名,数字证书的私钥由应用开发者持有, Android使用证书作为标示应用程序作者的一种方式,并在应用程序之间建立信任的关系。</li>
<li>签名常见影响:应用未签名无法安装,应用签名不一致无法覆盖安装,微信APP参数校验签名MD5值。
<h4>3.1.2添加签名证书</h4></li>
<li>入口:点击签名证书列表下方的「添加」按钮,提交会校验证书文件的别名和密钥是否正确。</li>
<li><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/b6becce854b4e044ab8475219bdb4fe3?showdoc=.jpg" alt="" /></li>
<li>配置项:
1.签名证书名称:决定「打包系统-打包配置管理-打包模版-基本信息-渠道SDK-签名证书」下拉列表展示内容。
2.证书文件:支持.keystore和.jks两种证书文件。
3.Alias:证书别名。
4.Storepass:证书密钥。</li>
</ul>
<h4>3.1.2编辑签名证书</h4>
<ul>
<li>入口:击签名证书列表操作栏的「编辑」按钮。</li>
<li>功能说明:仅支持修改签名名称。</li>
</ul>
<h4>3.1.3删除签名证书</h4>
<ul>
<li>入口:击签名证书列表操作栏的「删除」按钮。</li>
<li>功能说明:请谨慎操作,删除签名后,会倒是打包系统无法使用此证书进行APK签名。</li>
</ul>
<h2>3.2定制需求脚本</h2>
<ul>
<li>定义:在打包脚本的通用打包流程之外,需要额外针对业务特殊需求进行处理的脚本,支持按应用、渠道SDK和插件SDK纬度添加。</li>
<li><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/8387548ad07cbbc86e8512ff1186fef7?showdoc=.jpg" alt="" /></li>
</ul>
<h3>3.2.1添加定制需求</h3>
<ul>
<li>入口:点击定制需求列表右上方「添加」按钮。</li>
<li><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/9cf2ef8a2224d9e40256e29b14755ba6?showdoc=.jpg" alt="" /></li>
<li>配置项:
需求类型:选择定制需求的归属类型,即针对渠道SDK、应用或插件SDK做定制处理。
需求名称:选择具体需要定制处理的特定渠道SDK、插件SDK或应用。</li>
</ul>
<h3>3.2.2管理定制脚本</h3>
<ul>
<li>入口:点击定制需求列表中的「脚本当前版本」字段。</li>
<li><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/65d852474a958375437502e3db60ecf5?showdoc=.jpg" alt="" /></li>
</ul>
<h4>3.2.2.1添加定制脚本</h4>
<ul>
<li>入口:点击定制脚本列表右上方「添加」按钮。</li>
<li><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/a4241230d806c24fb0abcd5ed94c61db?showdoc=.jpg" alt="" /></li>
<li>配置项:
脚本上传:支持上传jar包,并在命名上以“-”界分名称和版本号。
脚本版本:从上传jar包命名中获取。
需求说明:解释脚本功能和影响范围。</li>
</ul>
<h4>3.2.2.2下载和删除定制脚本</h4>
<ul>
<li>入口:点击定制脚本列表操作栏「下载」「删除」按钮。</li>
<li>功能说明:下载脚本到本地,删除定制脚本。</li>
</ul>
<h1>4.打包监管</h1>
<ul>
<li>支持打包系统运营人员、开发人员查看打包任务机工作状态和平台级全量打包任务记录。</li>
</ul>
<h2>4.1打包脚本控制</h2>
<ul>
<li>打包任务机:部署打包脚本的服务器,用于接收打包任务和打包资源并执行打包流程,部署多台打包任务机有利于提高并发打包性能。</li>
<li><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/a8599b95fa2ca32f3cd82853395ebf58?showdoc=.jpg" alt="" /></li>
<li>展示打包任务机状态:IP、接受任务状态、脚本状态、当前任务、排队任务</li>
<li>支持操作:停止、开启接受任务。</li>
</ul>
<h2>4.2打包任务记录</h2>
<ul>
<li>打包任务:一个打包模板的一次打包。</li>
<li><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/c17e58673c1bef8d17199daf65d965cc?showdoc=.jpg" alt="" /></li>
<li>展示打包任务信息:任务序号、应用名称、母包版本(别名)、打包模版、打包任务机、打包状态、用户名、开始时间、结束时间。</li>
<li>支持操作:获取输出包体地址、打包日志。</li>
<li>任务搜索:支持按任务序号、打包任务或用户名检索。</li>
</ul>