Android版本更新器"文件丢失问题"
- XML code
<!-- 安装解包权限 --><uses-permission android:name="android.permission.INSTALL_PACKAGES"></uses-permission>
- Java code
public File write2SDFromInput(String dir ,String fileName,InputStream input){ File file = null; OutputStream output = null; try { createSDDir(dir); file = createSDFile(dir,fileName); output = new FileOutputStream(file); byte[] buffer = new byte[FILESIZE]; int length; int currentLength = 1; int times = 0; while((length = input.read(buffer)) != -1){ output.write(buffer, 0, buffer.length); currentLength += length; if( times > 100 || currentSchedule == fileLength){ times = 0; currentSchedule = currentLength * 100 / fileLength; mHandler.sendEmptyMessage(4); } times ++; } output.flush(); } catch (Exception e) { e.printStackTrace(); } finally{ try { output.close(); } catch (IOException e) { e.printStackTrace(); } } return file; }
- XML code
12-02 14:24:36.856: WARN/PackageParser(5669): Unable to read AndroidManifest.xml of /sdcard/hxp/hxpai.apk12-02 14:24:36.856: WARN/PackageParser(5669): java.io.FileNotFoundException: AndroidManifest.xml12-02 14:24:36.856: WARN/PackageParser(5669): at android.content.res.AssetManager.openXmlAssetNative(Native Method)12-02 14:24:36.856: WARN/PackageParser(5669): at android.content.res.AssetManager.openXmlBlockAsset(AssetManager.java:469)12-02 14:24:36.856: WARN/PackageParser(5669): at android.content.res.AssetManager.openXmlResourceParser(AssetManager.java:437)12-02 14:24:36.856: WARN/PackageParser(5669): at android.content.pm.PackageParser.parsePackage(PackageParser.java:370)12-02 14:24:36.856: WARN/PackageParser(5669): at com.android.packageinstaller.PackageUtil.getPackageInfo(PackageUtil.java:79)12-02 14:24:36.856: WARN/PackageParser(5669): at com.android.packageinstaller.PackageInstallerActivity.onCreate(PackageInstallerActivity.java:291)12-02 14:24:36.856: WARN/PackageParser(5669): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)12-02 14:24:36.856: WARN/PackageParser(5669): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2459)12-02 14:24:36.856: WARN/PackageParser(5669): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512)12-02 14:24:36.856: WARN/PackageParser(5669): at android.app.ActivityThread.access$2200(ActivityThread.java:119)12-02 14:24:36.856: WARN/PackageParser(5669): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1863)12-02 14:24:36.856: WARN/PackageParser(5669): at android.os.Handler.dispatchMessage(Handler.java:99)12-02 14:24:36.856: WARN/PackageParser(5669): at android.os.Looper.loop(Looper.java:123)12-02 14:24:36.856: WARN/PackageParser(5669): at android.app.ActivityThread.main(ActivityThread.java:4363)12-02 14:24:36.856: WARN/PackageParser(5669): at java.lang.reflect.Method.invokeNative(Native Method)12-02 14:24:36.856: WARN/PackageParser(5669): at java.lang.reflect.Method.invoke(Method.java:521)12-02 14:24:36.856: WARN/PackageParser(5669): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)12-02 14:24:36.856: WARN/PackageParser(5669): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)12-02 14:24:36.856: WARN/PackageParser(5669): at dalvik.system.NativeStart.main(Native Method)12-02 14:24:36.876: WARN/PackageInstaller(5669): Parse error when parsing manifest. Discontinuing installation
下载过程中好像是丢失了AndroidManifest.xml文件,请问我下载的方法是不是有问题,如何修改......谢谢了。
[解决办法]
看代码这个应该是没有问题,检查一下打包的时候是不是没有把Manifest.xml打包到hxpai.apk里面去