xuexiangjys / XUpdate

🚀A lightweight, high availability Android version update framework.(一个轻量级、高可用性的Android版本更新框架)
https://github.com/xuexiangjys/XUpdate/wiki
Apache License 2.0
2.33k stars 406 forks source link

apkCacheDir设置为内部存储(/data/data/package/files)时,安装时提示包解析出错。 #27

Closed jamin918 closed 5 years ago

jamin918 commented 5 years ago

当apkCacheDir设置为内部存储(比如:/data/data/package/files)时,安装时提示包解析遇到问题;设置为外部存储时(/storage/emulated/0/Download)时,安装包解析正常,可以安装成功。在网上查了下说apk文件权限不够,设置安装监听后,在安装前修改文件权限后,还是提示解析出错。 XUpdate.get().setOnInstallListener(new OnInstallListener() { @Override public boolean onInstallApk(@NonNull Context context, @NonNull File apkFile, @NonNull DownloadEntity downloadEntity) { String command = "chmod -R 777 " + apkFile.getAbsolutePath(); ShellUtils.execCmd(command, true); AppUtils.installApp(apkFile); return true; }

xuexiangjys commented 5 years ago

你这个貌似和XUpdate没什么关系吧

jamin918 commented 5 years ago

但是使用该库依赖的okHttpUtils下载apk文件,指定文件存储目录为内部存储,然后修改文件权限,是可以正常安装的。在设置apkCacheDir后还需要另外指定文件的名称吗?使用okHttpUtils下载文件时需要另外制定文件的名称。

xuexiangjys commented 5 years ago

这个我也没详细去看okHttpUtils的代码。反正提示解析出错一般来说,你这个文件压根就没下载成功,和修改文件权限没半毛钱关系

jamin918 commented 5 years ago

打印了文件保存路径和大小都是正常的,暂时指定文件保存路径为外部存储(可以正常安装),后面有时间我自己再研究下。

jamin918 commented 5 years ago

非常感谢作者开源这个更新库。

xuexiangjys commented 5 years ago

喜欢就star支持一下,让更多的人能看见