Android Apk在手机上安装失败问题解决

APK在7.0以上手机若不设置FileProvider会直接安装崩溃并抛类似下面的异常,刚才是还以为是安装包路径写错了,后来才发现是在7.0中为了提高应用的安全性,引入私有目录被限制访问和StrictMode API(禁止向你的应用外公开file://url,若有一项包含文件file://url类型的Intent离开你的应用,则会抛出异常)

android.os.FileUriExposedException: file:///XXX exposed beyond app through ClipData.Item.getUri() at android.os.StrictMode.onFileUriExposed(StrictMode.java:1799) at android.net.Uri.checkFileUriExposed(Uri.java:2346) at android.content.ClipData.prepareToLeaveProcess(ClipData.java:832) at android.content.Intent.prepareToLeaveProcess(Intent.java:8909)

如何解决该问题了?

针对这个问题google提供了FileProvider,使用它可以生成content://url 来替代file://url

首先我们在res目录下新建一个xml的目录,然后创建一个file_paths.xml,然后配置你安装包目录,第一个参数可随意指定,第二参数为目录路径,需要准确指定,那它几种标签,可根据需要进行配置

比丘资源网 » Android Apk在手机上安装失败问题解决

发表回复

提供最优质的资源集合

立即查看 了解详情