背景
- Android原生App集成RN
- 自定义了若干NativeModule
现象
js端通过NativeModules
访问自定义native module。
|
|
在Release模式下,Account
总是为{ }
一个空对象,然后调用里面的方法时,由于未定义导致app一致闪退。
排查过程
- 偶然发现debug模式下,没有问题
- 定位到只是release模式问题
- 排查代码没有问题后,定位到
build.gradle
解决办法
build.gradle
中,关于build类型有以下定义
|
|
两种模式不同的一个配置就是, release模式开启了minifyEnabled
。
尝试关闭minifyEnabled
后发现问题解决了。
为了优化,我们还是要在release模式下开启minifyEnabled
的。
我们怀疑是现在的优化规则把自定义的NativeModule优化掉了。
在proguard.flags
最后加上下面的规则:
|
|
done!