使用“ make project”构建的Android应用程序崩溃,但使用“ Run”安装时不会崩溃 在 Run 和 Make 期间构建的输出Fragments有什么区别?

问题描述

我们正在构建一个使用HighCharts Android包装器库*的应用。 在开发过程中,该应用程序通过 Run 命令安装在设备/仿真器上,并且一切正常。

但是,当生成构建视图进行项目生成签名的APK CI / DC管道生成的构建-应用程序总是崩溃。

Highcharts调用Gson时,崩溃发生在某个地方(需要从外部提供Gradle构建文件中的依赖关系)。 Gson然后抛出java.lang.Arrayindexoutofboundsexception异常。 (下面的stacktrace)

不是什么:

  1. 与Android版本无关。在API的29、25、23上进行了测试
  2. 与设备无关。发生在运行 clean android的物理设备和模拟器上。
  3. Proguard不相关(我认为)-在debug的构建中也会发生,并且为了安全起见,还添加了激进的keep语句。
  4. 相同的图表可以在我们的网站和iOS应用上正常工作。

可能相关:

Highcharts AndroidHilt DI尚不兼容,后者已深深嵌入到我们的代码中。显然,Highcharst期望为其Context构造函数提供的ViewActivity类型的,由于插入了{{1} }改成Hilt并用FragmentContextwrapper注释。 description and workaround here

我想了解的东西:

Run Make 期间构建的输出Fragments有什么区别?

有关崩溃的完整描述以及示例代码here


* @AndroidEntryPoint一个.APK图表库。 HighCharts库是JS的{​​{1}}包装器,在自定义Android Highcharts上运行。 Java也是JS个包装WebView代码的对象和函数

Stacktrace:

API

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)