Closed jamin918 closed 5 years ago
你这个貌似和XUpdate没什么关系吧
但是使用该库依赖的okHttpUtils下载apk文件,指定文件存储目录为内部存储,然后修改文件权限,是可以正常安装的。在设置apkCacheDir后还需要另外指定文件的名称吗?使用okHttpUtils下载文件时需要另外制定文件的名称。
这个我也没详细去看okHttpUtils的代码。反正提示解析出错一般来说,你这个文件压根就没下载成功,和修改文件权限没半毛钱关系
打印了文件保存路径和大小都是正常的,暂时指定文件保存路径为外部存储(可以正常安装),后面有时间我自己再研究下。
非常感谢作者开源这个更新库。
喜欢就star支持一下,让更多的人能看见
当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; }