You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android动态功能模块启用时签名APK崩溃:null InputStream异常

问题:启用动态功能模块后签名APK崩溃,移除模块后恢复正常

我的项目中,启用动态功能模块并生成签名APK时应用会崩溃;移除动态功能模块后,应用可正常运行。相关错误日志(已翻译)如下:

BoxUtil com.google.android.gms.persistent E [应用诊断工具] 输入流为空 [上下文 service_id=254 ]
java.io.IOException: 输入流为空

at csij.d(:com.google.android.gms@234414038@23.44.14 (190400-580326705):209)
at csgr.l(:com.google.android.gms@234414038@23.44.14 (190400-580326705):7)
at csgi.apply(:com.google.android.gms@234414038@23.44.14 (190400-580326705):35)
at com.google.android.gms.stats.service.DropBoxEntryAddedChimeraService.a(:com.google.android.gms@234414038@23.44.14 (190400-580326705):481)
at com.google.android.gms.framework.tracing.wrapper.TracingIntentService.onHandleIntent(:com.google.android.gms@234414038@23.44.14 (190400-580326705):14)
at njh.handleMessage(:com.google.android.gms@234414038@23.44.14 (190400-580326705):7)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:226)
at android.os.Looper.loop(Looper.java:313)
at android.os.HandlerThread.run(HandlerThread.java:67)

解决方案

  • 统一主模块与动态模块的签名配置:确保动态功能模块的签名文件、密钥别名、密码等参数和主模块完全一致。签名APK时,主模块和动态模块必须使用同一套签名信息,否则会触发验证失败,导致系统读取模块文件时出现空输入流异常。
  • 检查动态模块的文件完整性:排查动态模块中是否存在缺失的资源或核心文件,打包过程中遗漏关键文件会引发此类流读取错误。可以重新构建动态模块,确认所有必要文件都被正确打包。
  • 更新Google Play服务依赖与设备版本:日志显示错误来源于Google Play服务组件,尝试将项目中的com.google.android.gms依赖更新到稳定版,同时确保测试设备上的Google Play服务升级至最新版本,排除版本不兼容问题。
  • 校验动态模块的清单配置:检查动态模块的AndroidManifest.xml,确认权限声明、组件配置等没有错误,错误的清单设置可能导致模块加载失败。
  • 用APK Analyzer排查结构问题:使用Android Studio内置的APK Analyzer工具,检查签名后的主APK和动态模块APK的文件结构,查看是否存在签名不匹配、文件缺失等异常情况。

内容的提问来源于stack exchange,提问作者Jasmin Patel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 21:28:40