关于android7.0安装问题,网上帖子很多,但是我还是遇到了一个比较奇葩的问题。
TIM图片20171106161306.png TIM图片20171106161514.png看翻译好像是重复申明了 provide。(但是我项目中明明只有一个)
于是我自己定义了一个provide:
public class MyProvider extends FileProvider {
}
<provider
android:name="${applicationId}.MyProvider"
android:authorities="${applicationId}.fileProvider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths" />
</provider>
接着就编译通过了。
还有一些小的注意点,比如报:
Attempt to invoke virtual method 'android.content.res.XmlResourceParser android.content.pm.PackageItemInfo.loadXmlMetaData(android.content.pm.PackageManager, java.lang.String)' on a null object reference
有可能是你的android:authorities="${applicationId}.fileProvider" 和你安装的代码Uri contentUri = FileProvider.getUriForFile(context, "${applicationId}.fileProvider", file); 其中的fileProvicer 字母大小写不同引起的。
网友评论