侧耳_倾听 2016-02-29 03:13 采纳率: 40%
浏览 2795

android下载文件打不开

我用mars老师的源码,

  /**
     * 该函数返回整形 -1:代表下载文件出错 0:代表下载文件成功 1:代表文件已经存在
     */
    public int downFile(String urlStr, String path, String fileName) {
        InputStream inputStream = null;
        try {
            FileUtils fileUtils = new FileUtils();

            if (fileUtils.isFileExist(path + fileName)) {
                return 1;
            } else {
                inputStream = getInputStreamFromUrl(urlStr);
                File resultFile = fileUtils.write2SDFromInput(path,fileName, inputStream);
                if (resultFile == null) {
                    return -1;
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
            return -1;
        } finally {
            try {
                inputStream.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        return 0;
    }

返回0,成功下载了,而且目录下看到有文件,但是打开显示解析程序包时出现问题,到底怎么回事

     new Thread(new Runnable() {
                @Override
                public void run() {
                    HttpDownloader httpDownloader = new HttpDownloader();
                    int result = httpDownloader.downFile("http://xxxxx.apk", "aaaaaaaa/", "xxxxx.apk");//部分省略
                    System.out.println(result);
                }
            }).start();

logcat

02-29 11:12:40.025 8803-8803/com.android.packageinstaller D/asset: failed to open Zip archive '/storage/emulated/0/aaaaaaaa/xxxxx.apk'
02-29 11:12:40.061 8803-8803/com.android.packageinstaller W/PackageInstaller: Parse error when parsing manifest. Discontinuing installation
02-29 11:12:40.061 8803-8803/com.android.packageinstaller W/PackageParser: Unable to read AndroidManifest.xml of /storage/emulated/0/aaaaaaaa/xxxxx.apk
02-29 11:12:40.061 8803-8803/com.android.packageinstaller W/PackageParser: java.io.FileNotFoundException: AndroidManifest.xml
02-29 11:12:40.061 8803-8803/com.android.packageinstaller W/PackageParser: at android.content.res.AssetManager.openXmlAssetNative(Native Method)
02-29 11:12:40.061 8803-8803/com.android.packageinstaller W/PackageParser: at android.content.res.AssetManager.openXmlBlockAsset(AssetManager.java:488)
02-29 11:12:40.061 8803-8803/com.android.packageinstaller W/PackageParser: at android.content.res.AssetManager.openXmlResourceParser(AssetManager.java:456)
02-29 11:12:40.061 8803-8803/com.android.packageinstaller W/PackageParser: at android.content.pm.PackageParser.parsePackage(PackageParser.java:528)
02-29 11:12:40.061 8803-8803/com.android.packageinstaller W/PackageParser: at com.android.packageinstaller.PackageUtil.getPackageInfo(PackageUtil.java:73)
02-29 11:12:40.061 8803-8803/com.android.packageinstaller W/PackageParser: at com.android.packageinstaller.PackageInstallerActivity.onCreate(PackageInstallerActivity.java:465)
02-29 11:12:40.061 8803-8803/com.android.packageinstaller W/PackageParser: at android.app.Activity.performCreate(Activity.java:5231)
02-29 11:12:40.061 8803-8803/com.android.packageinstaller W/PackageParser: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
02-29 11:12:40.061 8803-8803/com.android.packageinstaller W/PackageParser: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2148)
02-29 11:12:40.061 8803-8803/com.android.packageinstaller W/PackageParser: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2233)
02-29 11:12:40.061 8803-8803/com.android.packageinstaller W/PackageParser: at android.app.ActivityThread.access$800(ActivityThread.java:135)
02-29 11:12:40.061 8803-8803/com.android.packageinstaller W/PackageParser: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
02-29 11:12:40.061 8803-8803/com.android.packageinstaller W/PackageParser: at android.os.Handler.dispatchMessage(Handler.java:102)
02-29 11:12:40.061 8803-8803/com.android.packageinstaller W/PackageParser: at android.os.Looper.loop(Looper.java:136)
02-29 11:12:40.061 8803-8803/com.android.packageinstaller W/PackageParser: at android.app.ActivityThread.main(ActivityThread.java:5001)
02-29 11:12:40.061 8803-8803/com.android.packageinstaller W/PackageParser: at java.lang.reflect.Method.invokeNative(Native Method)
02-29 11:12:40.061 8803-8803/com.android.packageinstaller W/PackageParser: at java.lang.reflect.Method.invoke(Method.java:515)
02-29 11:12:40.061 8803-8803/com.android.packageinstaller W/PackageParser: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
02-29 11:12:40.061 8803-8803/com.android.packageinstaller W/PackageParser: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
02-29 11:12:40.061 8803-8803/com.android.packageinstaller W/PackageParser: at dalvik.system.NativeStart.main(Native Method)

  • 写回答

4条回答

  • 简一_hz 2016-02-29 03:29
    关注

    主要是权限问题,解决方法看一下这篇内容http://blog.csdn.net/y150481863/article/details/7867493

    评论

报告相同问题?

悬赏问题

  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Labview机器人问题
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序
  • ¥15 onvif+openssl,vs2022编译openssl64
  • ¥15 iOS 自定义输入法-第三方输入法
  • ¥15 很想要一个很好的答案或提示