Android端IMG.LY PE SDK添加自定义贴纸点击触发空指针异常崩溃
崩溃根因定位
对应错误日志中StateHandler.createLayerSettingsModel抛出的空指针,核心原因是IMG.LY PE SDK内部为贴纸图层创建配置实例时,无法获取到贴纸对应的类型映射信息,导致实例化操作失败。该问题通常由两种错误写法触发:
- 构造自定义
Sticker实例时未传入合法的贴纸类型参数,或直接调用无参构造方法创建贴纸对象 - 自定义贴纸分类的贴纸列表中混入了null值的贴纸项
修复方案
- 修正贴纸实例构造逻辑
如果你的自定义贴纸是普通PNG资源,直接使用SDK内置的标准贴纸类型即可,必须传递类型参数,禁止使用无参构造方法:
// 正确构造示例 Sticker customPngSticker = new Sticker(Sticker.TYPE_STANDARD, Uri.parse("asset:///your_custom_sticker.png"));
如果你自定义了特殊贴纸类型,需要在SDK初始化阶段提前注册该类型对应的图层配置类映射,否则SDK无法识别自定义类型,无法生成对应配置实例。
- 过滤空贴纸项
检查你添加到StickerCategoryItem的所有贴纸实例,做非空校验后再加入分类列表,避免混入null值触发空指针。
验证方法
完成上述修改后重新编译运行,点击自定义贴纸即可正常添加到画布,不会再触发崩溃。
内容的提问来源于stack exchange,提问作者Shoukat Hussain
相关产品推荐
相关产品推荐

