gpt4 book ai didi

Android - 无法打开 zip 存档

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:04:28 24 4
gpt4 key购买 nike

我正在从网上下载 apk 文件并将其存储到 Context.getCacheDir() 中。我正在通过 HttpURLConnection 下载文件 - 我实际上并没有询问代码(它完全可以工作),所以我没有在这里发布它。我成功启动下载。文件下载到缓存中,然后提示安装 - 但系统无法打开我的 APK 并写入分析错误。

因此问题如下:

03-31 16:48:43.740: INFO/ActivityManager(59): Start proc com.android.packageinstaller for activity com.android.packageinstaller/.PackageInstallerActivity: pid=620 uid=10026 gids={}
03-31 16:48:44.749: WARN/zipro(620): Unable to open zip '/data/data/com.my.app/cache/myApp.apk': Permission denied
03-31 16:48:44.749: DEBUG/asset(620): failed to open Zip archive '/data/data/com.my.app/cache/myApp.apk'
03-31 16:48:44.930: WARN/PackageParser(620): Unable to read AndroidManifest.xml of /data/data/com.my.app/cache/myApp.apk
03-31 16:48:44.930: WARN/PackageParser(620): java.io.FileNotFoundException: AndroidManifest.xml

问题是 - 我没有访问编程/缓存的权限。有什么办法可以解决吗?我不想使用外部存储作为下载目录(当我将文件下载到外部存储时安装过程有效),缓存很棒,因为一般用户无法从文件管理器访问该文件,这就是我想要的。感谢您的想法。

这个问题已经困扰我一个多月了...

编辑:仍然没有解决方案,我试图认为我发现了第一件事,这在 Android 上是不可能的

Edit2:我一定看起来很糟糕 - 我下载的 apk 存在于缓存中......仍然没有允许从该目录安装的权限?

最佳答案

在将下载的 apk 文件安装到您的代码中之前,对下载的 apk 文件执行 chmod 666

更多细节:

path = your_apk_file_path_in_cache_dir;
permission="666";

try {
String command = "chmod " + permission + " " + path;
Runtime runtime = Runtime.getRuntime();
runtime.exec(command);
} catch (IOException e) {
e.printStackTrace();
}

关于Android - 无法打开 zip 存档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5503487/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com