Android7.0的手机升级安装APK时,出现FileUriExposedException错误
2017-05-24 13:30
435 查看
今天遇到了个问题,app要升级,下载完apk后打开安装界面时崩溃了。经过网上查看,找到了解决办法:1、在AndroidManifest下的application节点下添加如下代码:
<provider android:name="android.support.v4.content.FileProvider" android:authorities="hylk.com.xiaochekaoqin" android:exported="false" android:grantUriPermissions="true"> <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/file_paths" /> </provider>
android:authorities为自己的app包名即可。2、在res/xml文件夹下添加file_paths.xml文件
文件里的内容如下:
<?xml version="1.0" encoding="utf-8"?>
<paths>
<external-path path="Android/data/app包名/" name="files_root" /><external-path path="." name="external_storage_root" /></paths>
其中第一个path里的目录换成自己的包名
3、在代码中添加如下代码,用来打开apk到安装界面:
private void openFile(File file) {Intent intent = new Intent(Intent.ACTION_VIEW);Uri data;// 判断版本大于等于7.0if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {// "net.csdn.blog.ruancoder.fileprovider"即是在清单文件中配置的authoritiesdata = FileProvider.getUriForFile(this, "hylk.com.xiaochekaoqin", file);// 给目标应用一个临时授权intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);} else {data = Uri.fromFile(file);}intent.setDataAndType(data, "application/vnd.android.package-archive");startActivity(intent);}
其中
FileProvider.getUriForFile(this, "hylk.com.xiaochekaoqin", file);的第二个参数为自己的包名和1里的一样即可。
// ------------------------------------------------
以上三步完成后,即可在android7.0的手机上升级安装apk
具体可参考其他博主的详细解答:
http://www.cnblogs.com/yongdaimi/p/6067319.html
相关文章推荐
- android手机上安装apk时出现解析包错误的一个解决办法
- android手机上安装apk时出现解析包错误的一个解决办法
- android手机上安装apk时出现解析包错误的一个解决办法
- Android 7.0之后安装APK,拍照 出现FileUriExposedException,多个provider配置
- android手机上安装apk时出现解析包错误的一个解决办法
- Android 代码自动升级新版本更新apk时出现“已安装了存在签名冲突的同名数据包”
- 开发中碰到的问题:Android 7.0 更新APK在安装时的报错 android.os.FileUriExposedException: file:///storage/emulated/0/And
- android版本更新适配7.0,解决7.0手机无法更新安装apk
- android--as下,apk调试运行OK,在手机上安装apk却出现闪退的解决办法
- [置顶] Android开发之模拟器genymotion安装apk出现错误: Install_failed_invalid_URI
- Android 升级安装APK兼容Android7.0,解决FileUriExposedException
- 兼容Android系统7.0,升级安装apk
- 给android avd 安装apk时出现的错误:adb不是内部或者外部指令及丢失adbwinapi.dll问题
- Android 7.0下载完apk,安装时闪退,报FileUriExposedExceotion异常
- Eclipse在开发android应用的时候出现存储空间不足而无法安装apk的错误
- Android学习之——真机安装apk时出现INSTALL_FAILED_NO_MATCHING_ABIS错误的解决办法
- Android apk升级 兼容6.0 7.0 低版本 华为手机
- Android Studio出现安装APK错误 Failure [INSTALL_CANCELED_BY_USER]
- Android 7.0 出现 ”FileUriExposedException“ 和 ”解析包出现错误“ 异常的解决办法
- Android 7.0 更新APK在安装时的报错 android.os.FileUriExposedException(已修复)