【发布时间】:2018-11-26 14:02:01
【问题描述】:
伙计们,我正在开发一个需要外部应用程序依赖项(.aar 文件)的 android 应用程序 库应用程序有自己的文件提供程序,而我的应用程序也有自己的。
当我将它作为一个单独的应用程序运行时,它运行良好,但是当我将它包含在我的应用程序中时,相机功能将无法正常工作。我收到以下错误
java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.XmlResourceParser android.content.pm.ProviderInfo.loadXmlMetaData(android.content.pm.PackageManager, java.lang.String)' on a null object reference
跟随应用的清单文件
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="${applicationId}.provider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths" />
</provider>
以下是lib模块的清单文件
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="com.ma.bot.provider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths" />
</provider>
应用程序和 lib 模块都有不同的包名我如何将这 2 个文件提供程序添加到应用程序中 我也尝试使用多个文件提供程序,但在应用程序编译时出现 XML 解析错误。
android:authorities="${applicationId}.provider;com.ma.bot.provider"
如何解决这个问题。
【问题讨论】:
标签: android android-manifest aar android-fileprovider