从服务器下载APK并将其安装到设备 [英] Downloading APK from server and installing it to device
问题描述
我正在从服务器以字符串格式下载APK,将其转换为字节数组并在SD卡中创建apk文件.到目前为止没有任何问题,如果我尝试安装相同的apk,则会显示类似
I'm downloading APK from server in string format, converting that to byte array and creating apk file in SD card. There is no issues upto this, if i try to install the same apk it showing an alert (parse error) message like
解析程序包时出现问题.
There is a problem parsing the package.
和logcat
01-13 12:06:51.562:W/PackageParser(4364):无法读取/mnt/sdcard/example.apk的AndroidManifest.xml.
01-13 12:06:51.562:W/PackageParser(4364):java.io.FileNotFoundException:AndroidManifest.xml
01-13 12:06:51.562:W/PackageParser(4364):在android.content.res.AssetManager.openXmlAssetNative(本机方法)
01-13 12:06:51.562:W/PackageParser(4364):位于android.content.res.AssetManager.openXmlBlockAsset(AssetManager.java:486)
01-13 12:06:51.562:W/PackageParser(4364):位于android.content.res.AssetManager.openXmlResourceParser(AssetManager.java:454)
01-13 12:06:51.562:W/PackageParser(4364):位于android.content.pm.PackageParser.parsePackage(PackageParser.java:401)
................................................... ...........
01-13 12:06:51.562:W/PackageParser(4364):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
01-13 12:06:51.562:W/PackageParser(4364):在dalvik.system.NativeStart.main(本机方法)
01-13 12:06:51.562:W/PackageInstaller(4364):解析清单时解析错误停止安装
01-13 12:06:51.562: W/PackageParser(4364): Unable to read AndroidManifest.xml of /mnt/sdcard/example.apk
01-13 12:06:51.562: W/PackageParser(4364): java.io.FileNotFoundException: AndroidManifest.xml
01-13 12:06:51.562: W/PackageParser(4364): at android.content.res.AssetManager.openXmlAssetNative(Native Method)
01-13 12:06:51.562: W/PackageParser(4364): at android.content.res.AssetManager.openXmlBlockAsset(AssetManager.java:486)
01-13 12:06:51.562: W/PackageParser(4364): at android.content.res.AssetManager.openXmlResourceParser(AssetManager.java:454)
01-13 12:06:51.562: W/PackageParser(4364): at android.content.pm.PackageParser.parsePackage(PackageParser.java:401)
.............................................................
01-13 12:06:51.562: W/PackageParser(4364): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
01-13 12:06:51.562: W/PackageParser(4364): at dalvik.system.NativeStart.main(Native Method)
01-13 12:06:51.562: W/PackageInstaller(4364): Parse error when parsing manifest. Discontinuing installation
任何想法,我做错了什么,或任何其他方法来解决这个问题.
any idea what i did wrong, or any other method to solve this.
推荐答案
If you are using API level 9 or more, I think it is better to use DownloadManager to download your apk . So that Android will take care of downloading the file for you.
这篇关于从服务器下载APK并将其安装到设备的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!