自定义loader使用说明,以APICloud平台为例

简介: 一直以来,官方发布的AppLoader,只包含了官方模块。而其他开发者的自定义模块、付费模块、第三方SDK模块等都并未加入到loader中,这给开发者在开发调试过程中带来一些不便。

一、应用自定义loader的作用

一直以来,官方发布的AppLoader,只包含了官方模块。而其他开发者的自定义模块、付费模块、第三方SDK模块等都并未加入到loader中,这给开发者在开发调试过程中带来一些不便。其中原因很多,如:模块全编译进来Loader的Size会太大、多个同类的第三方模块一起编译会存在冲突等。针对此类问题,APICloud也一直在想办法解决,今天我们为开发者推出了为应用自定义Loader的功能。今后,开发者可以为自己的应用自定义AppLoader,通过自定义Loader,开发者可以自由选择本APP所需要的模块进行loader的编译。同时,自定义loader将与当前APP所有的配置最大限度的保持一致,保持开发调试的APP环境与正式上线的环境一致,保证如微信、微博、百度地图等第三方SDK模块,在loader中调试通过后,编译正式版本也不会出现问题。

二、自定义loader执行原理

1、 每个APP项目对应一个自定义loader,开发过程中需要为每个APP项目单独编译自定义loader;如果APP项目对应的自定义loader不存在,则默认使用官方loader

2、 自定义loader完全使用当前APP的所有配置,包括APP名字、ICON图标、启动界面、包名、证书、开放平台SDK模块的各种KEY等

3、 自定义loader在运行之初,会根据所选择要“真机同步”APP项目的ID从设备的SD卡(Android平台)或者Document下(iOS平台)的固定目录中找到对应ID的项目的代码,并加载运行

4、 官方loader的更新,不影响自定义loader,二者相互独立,可同时存在于设备上

三、自定义loader与官方loader的区别

1、 官方loader会随APICloud每周的版本发布而更新,自定义loader不会,自定义loader由开发者主动编译后更新

2、 官方loader中的微信、微博等第三方开放SDK模块的KEY等,是跟官方loader包名对应,属于官方loader的;而自定义loader的,则属于你当前APP的,等同于你的APP正式版

3、 官方loader可同时展示多个APP项目,并从中选择某APP项目运行;自定义loader只加载当前APP项目

4、 自定义loader可随自己的需求随时编译;官方loader需APICloud每周发版本

5、 官方loader只有一个;而每个APP项目对应一个自定义loader,如果你有10个APP项目,将对应10个自定义loader

6、 官方loader使用官方固定的包名、证书、ICON等;自定义loader使用当前APP项目的包名、证书、ICON、启动界面、APP名字等

7、 【重要】iOS平台的自定义loader,所有app项目的自定义loader统一包名为“com.api.customloader20220616”(包名会随官方证书更换。建议开发者上传自己的iOS证书。),并且名称统一为“自定义Loader”,多个项目自定义loader进行真机同步时,将是覆盖安装的。如果您的某个APP项目已经上传了自己的iOS证书,则iOS自定义loader对应的包名将是你的证书对应的包名,自定义loader同步到iOS设备上时,均可在桌面看到。

四、自定义loader使用流程

1、 在APICloud Studio中选中某APP项目,并且在该项目上右键鼠标

2、 在弹出的右键菜单中,选择“编译自定义loader”

3、 之后APICloud Studio会打开编译界面,选择编译Android 或 iOS 自定义loader。

4、 编译成功后,用手机扫描二维码将自定义loader安装在手机上。

5、 点击APICloud Studio 中wifi同步快捷键,在弹出窗口点击【通过wifi连接新的设备】,弹出包含ip和端口信息的二维码。

网络异常,图片无法展示
|
网络异常,图片无法展示
|

6、 手机上启动自定义loader,点击灰色圆球,输入ip 和端口(也可使用扫一扫),连接开发工具后,可以使用开发工具的wifi同步功能(项目根目录上右键-WIFI同步【全量】)。

7、 自定义loader的更新时机,请参考第五点:何时编译新的自定义loader

五、何时编译新的自定义loader

1、 更换了APP的Android或者iOS证书时,需要重新编译自定义loader,同时如果项目中使用了微信、微博、百度地图等KEY值跟APP证书挂钩的第三方SDK模块,需要重新去这些开放平台申请新的KEY

2、 更换了APP的包名时,需要重新编译自定义loader,同时如果项目中使用了微信、微博、百度地图等KEY值跟APP包名挂钩的第三方SDK模块,需要重新去这些开放平台申请新的KEY

3、 勾选了新的模块或者config文件的feature、meta-data字段有更新时,需要重新编译loader,编译之前,需要将该项目的config文件同步至云端,云端编译自定义loader时将使用最新的config配置

4、 你的APP项目用到的模块中,某个或多个模块有更新时,需要重新编译自定义loader

5、 官方每周发布新的版本时,如果有涉及到解决了与您项目有关的BUG或者做了新的适配工作时,需要重新编译自定义Loader

六、自定义loader使用注意事项

1、 自定义loader有效期为7天,7天过后需要重新编译

2、 自定义loader不可用于商业用途

3、 切勿随意改动APP项目config文件中的ID值,否则会引起无法编译自定义loader,或者“真机同步时”因ID错误找不到widget而导致加载失败

4、 开发调试过程中,尽量将你的APP项目config中的<preference name="debug" value="true"/>字段置为true,当JS报错时,将会弹出提示到屏幕;发布正式上线版本时可关闭debug

5、 新建完APP项目后,最好登录网站,为该APP项目创建Android或者iOS证书,以保证证书是对应你的项目的。因为如果没有为该APP项目创建证书的情况下,使用的是官方的默认证书,那么自定义loader也将使用该证书,如果项目中用到了微信等与证书相关的模块,将带来调试的麻烦

6、 自定义loader只从设备SD卡或者document下加载APP项目,如果该项目被删除或者目录被篡改,将报找不到项目代码的错误

7、 使用iOS自定义loader时,如果已经上传了自己的iOS证书,并且是个人版证书(企业版证书则不受影响),那么,真机同步时,只能在越狱的手机上同步,或者需要在苹果的网站上将非越狱手机加成开发机,否则真机同步时将报类似“打开写文件服务失败”的错误而同步失败

七、自定义Loader对快速生成测试包是否有影响?

自定义Loader与快速生成测试包没有任何关系。 APICloud Studio“快速生成测试包”时,仍然使用的是官方的loader,而不是自定义loader。因为,快速生成测试包的apk或者ipa安装包,其包名及签名证书等,使用的是APICloud的默认配置,将与你的APP配置的不一致,包括模块可能也并未包含,可能引起在自定义loader中调试通过的某些功能失效,如微信微博分享,百度地图等。使用时请格外注意! “快速生成测试包”生成的apk或者ipa包仅仅用于简单的安装包输出,无法用于商业用途!


目录
相关文章
|
7月前
|
JavaScript 前端开发 测试技术
移动端(APP)自动化脚本工具详细列举(autojs、easyclick、hamibot、ctrljs ...)
移动端(APP)自动化脚本工具详细列举(autojs、easyclick、hamibot、ctrljs ...)
2318 0
|
2月前
|
移动开发 小程序 数据可视化
DIY可视化导出源码整合uniapp环境搭建+调试+运行发布
DIY可视化导出源码整合uniapp环境搭建+调试+运行发布
66 0
|
7月前
|
移动开发 自然语言处理 小程序
miniprogram-to-uniapp使用指南(各种小程序项目转换为uni-app项目)
miniprogram-to-uniapp使用指南(各种小程序项目转换为uni-app项目)
566 1
|
7月前
|
移动开发 监控 小程序
mPaaS常见问题之uniapp ios端云打包的配置config文件如何解决
mPaaS(移动平台即服务,Mobile Platform as a Service)是阿里巴巴集团提供的一套移动开发解决方案,它包含了一系列移动开发、测试、监控和运营的工具和服务。以下是mPaaS常见问题的汇总,旨在帮助开发者和企业用户解决在使用mPaaS产品过程中遇到的各种挑战
205 0
|
7月前
|
安全 定位技术
ENVI软件App Store插件工具的下载、安装与使用方法
ENVI软件App Store插件工具的下载、安装与使用方法
366 1
|
存储 安全 搜索推荐
php对接百度网盘开发平台API开发高级实战案例解析:(环境部署、php封装类、Access Token获取、预上传、分片上传)
php对接百度网盘开发平台API开发高级实战案例解析:(环境部署、php封装类、Access Token获取、预上传、分片上传)
641 0
|
数据可视化 安全 测试技术
Postcat 插件上线,支持 ApiPost 格式导入
最近我们的插件广场上线了一款由我们的社区共建者开发的 ApiPost 插件,安装即可支持导入 ApiPost 格式的数据,操作方法也很简单呢。
Postcat 插件上线,支持 ApiPost 格式导入
使用APICloud实现文档下载和预览功能
使用 APICloud 开发 app 时,可以使用 api.download 方法实现下载;预览文档可以使用 superFile 模块。superFile 模块封装了基于腾讯浏览服务 TBS,使用 X5Webkit 内核,实现文件的展示功能,支持多种文件格式(PDF、Word、Execl、TXT、PPT)。
497 0
APICloud 实现文档下载和预览功能
文档下载是很多app,尤其是企业应用中常用的功能。使用APICloud开发app时,可以使用api.download方法实现下载;预览文档可以使用superFile 模块。superFile 模块封装了基于腾讯浏览服务TBS,使用X5Webkit内核,实现文件的展示功能,支持多种文件格式(PDF、Word、Execl、TXT、PPT)。
318 0
APICloud 实现文档下载和预览功能
|
移动开发 小程序 前端开发
APICloud 原生模块、H5模块、多端组件使用教程
使用APICloud平台,可以使用前端技术快速开发iOS、Android App、小程序、Web等多端应用。在开发过程中,调用模块可以极大的提升开发效率。本文分为三个部分,告诉大家如何使用APICloud 的原生模块、H5模块以及多端组件,快速实现功能开发。
481 0
APICloud 原生模块、H5模块、多端组件使用教程