使用限制

重要

本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。

介绍产品使用过程中的限制。

应用数量限制

每个阿里云账号在EMAS控制台上创建应用的累计额度为45个,其中包含已删除的应用。

如果创建数量已达上限,请参考常见问题:进行处理。

修复范围

  • 热修复仅支持Android平台。

  • 热修复仅支持Android 4.3及以上系统,如自研设备和系统,请关闭系统级jit后进行接入。

  • 热修复仅支持Java代码、资源文件和so文件的修复。

  • 热修复支持存量功能错误问题的修复,或者存量功能类的调整,不支持增量新增功能。

警告

由于Google Play限制在其上发布的应用不得采用Google Play 更新机制以外的其他任何方式修改、替换或更新应用本身,所以Android应用接入移动热修复SDK存在Google Play应用市场发布审核不通过的风险。详情请参见Google Play政策中心

加固和混淆

1 、使用移动热修复时,如果您的APK使用了加固,可能会遭遇一些技术挑战导致出现以下几类暂无法解决的问题:

  • 类加载器加载补丁中的类时,有的类被类加载器成功加载,有的类加载失败然后加载了原APK中的类,导致Crash或者没成功修复的情况。

  • 类加载器加载补丁中的类时,加载失败抛出java.lang.ClassNotFoundException导致Crash。

  • 类加载器加载补丁中的类时,错误加载到其他类后抛出java.lang.IncompatibleClassChangeError导致Crash

2 、在加固和混淆的使用中也需要注意以下两点:

  • 采用通用方式支持加固,但是由于各家加固提供商的加固方案存在差异性且一直在迭代,如果App中用到了加固,切记需要在加固前打补丁包,同时需要对补丁进行全面的测试。

  • 混淆和加固:混淆和加固是不一样的,加固可能包含了混淆,并且做了很多特殊处理。注:如出现未加固时修复正常,加固后修复时找不到方法或类的情况,查看未加固的包是否混淆,可先对项目进行常规混淆,混淆后的包能正常修复后再进行加固测试。

计费说明

  • 平台计费是基于计费接口(queryAndLoadNewPatch),不是发了补丁才会有计费。您可以根据自身需要,针对该计费接口,加上开关。

  • 平台通过接口查询次数进行计费,是为了防止恶意查询,导致服务成本极速上升。移动热修复给定了比较高的额度,是日均查询次数:20次。即每个账号下,平均到每台设备,一天免费查询补丁20次。超出部分是:2元/万次请求。

  • 支持的资源:res资源和asset资源。

补丁包限制

默认支持补丁大小:30M以内。

其他限制

  • 如需要混淆,需要使用ProGuard进行混淆。