问题描述
我们正在构建一个使用HighCharts
Android
包装器库*的应用。
在开发过程中,该应用程序通过 Run 命令安装在设备/仿真器上,并且一切正常。
但是,当生成构建视图进行项目,生成签名的APK 或 CI / DC管道生成的构建-应用程序总是崩溃。
当Highcharts
调用Gson
时,崩溃发生在某个地方(需要从外部提供Gradle
构建文件中的依赖关系)。 Gson
然后抛出java.lang.Arrayindexoutofboundsexception
异常。 (下面的stacktrace)
不是什么:
- 与Android版本无关。在API的29、25、23上进行了测试
- 与设备无关。发生在运行 clean android的物理设备和模拟器上。
- 与
Proguard
不相关(我认为)-在debug
的构建中也会发生,并且为了安全起见,还添加了激进的keep
语句。 - 相同的图表可以在我们的网站和iOS应用上正常工作。
可能相关:
Highcharts Android
与Hilt DI
尚不兼容,后者已深深嵌入到我们的代码中。显然,Highcharst
期望为其Context
构造函数提供的View
是Activity
类型的,由于插入了{{1} }改成Hilt
并用FragmentContextwrapper
注释。
description and workaround here
我想了解的东西:
在 Run 和 Make 期间构建的输出Fragments
有什么区别?
* @AndroidEntryPoint
是一个.APK
图表库。 HighCharts
库是JS
的{{1}}包装器,在自定义Android Highcharts
上运行。 Java
也是JS
个包装WebView
代码的对象和函数。
Stacktrace:
API
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)