在使用react-native-image-picker的拍照功能的时候直接崩溃了。
其中,在实现原生组件之前是可以用的,于是开始研究两者之间的关系,后来发现,两个module都引用了同一个jar包。
报错分析
添加的依赖
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="com.xxxx.xxxx.fileprovider"
android:exported="false"
android:grantUriPermissions="true"
tools:replace="android:authorities">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths"
tools:replace="android:resource" />
</provider>
可以看到引用了android.support.v4.content.FileProvider并起了fileprovider的别名,观察react-native-image-picker,也引用了这个jar但起了另一个别名provider。有可能是我们的别名覆盖了image-picker的引用,导致调用相机时对象空指针异常,导致app崩溃
解决方法
将fileprovider改为provider,与image-picker一致,重新run,问题解决。