react-native-image-picker点击拍照崩溃

在使用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,问题解决。

推荐阅读更多精彩内容