首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >自定义loader使用说明,以APICloud平台为例

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

原创
作者头像
白又白888
发布2022-09-22 18:56:59
5170
发布2022-09-22 18:56:59
举报
文章被收录于专栏:APP开发教程APP开发教程

一、应用自定义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包仅仅用于简单的安装包输出,无法用于商业用途!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、应用自定义loader的作用
  • 二、自定义loader执行原理
  • 三、自定义loader与官方loader的区别
  • 四、自定义loader使用流程
  • 五、何时编译新的自定义loader
  • 六、自定义loader使用注意事项
  • 七、自定义Loader对快速生成测试包是否有影响?
相关产品与服务
Cloud Studio(云端 IDE)
Cloud Studio(云端 IDE)是基于浏览器的集成式开发环境,为开发者提供了一个稳定的云端工作站。用户在使用 Cloud Studio 时无需安装,随时随地打开浏览器即可使用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档