2010-01-04 58 views
1

问题是这样的:创建的apk progamatically

我做一个互联网连接到某些URL 和接收一个HttpResponse与app_example.apk。

然后,我想在SD卡中创建一个文件(.apk)与此数据 ,以便以后可以安装此下载的应用程序。

如何将HttpResponse转换为.apk文件?

谢谢大家

+0

请更新您的标题,因为其标题不是很清楚您正在尝试做什么。 – moritz 2010-01-04 18:42:34

+1

现在您已经更详细地发布了您的问题(注意:正常的过程是*编辑*您现有的问题),您应该关闭或删除此问题。 – 2010-01-05 03:19:23

+0

可能将[将HttpResponse转换为.apk文件]重复(http://stackoverflow.com/questions/2001636/convert-httpresponse-to-an-apk-file) – iDev 2013-01-08 08:07:48

回答

2

意识到这一点,你需要的WRITE_EXTERNAL_STORAGE许可,您的应用程序,但你可以只写到SD卡即可。每一个内容,你想要的每个文件名。然而,安装是另一回事。

+0

谢谢, 但我已经拥有该权限并且 我目前正在写这个文件。 我正在做的是将HttpResponse转换为byte [], ,然后使用ObjectOutputStream将该byte []写入文件(.apk)。 ... – Tsimmi 2010-01-04 19:19:16

+0

像这样: - “APK” //字节[] appByteArray已经具备了互联网的响应转换以字节为单位 尝试{ 文件=新的文件(Environment.getExternalStorageDirectory()+ “/” + APPNAME + ); file.createNewFile(); FileOutputStream stream = null; stream = new FileOutputStream(file,false); ObjectOutputStream objectOut = new ObjectOutputStream(new BufferedOutputStream(stream)); objectOut.writeObject(appByteArray); objectOut.close(); } catch(Exception e){ e.printStackTrace(); } – Tsimmi 2010-01-04 19:19:55

+0

听起来不错,它的作品? – moritz 2010-01-04 19:19:56

1

如果您尝试安装其他应用程序(如附加或附加数据),则应该在市场上发布插件,并使用意图让市场接管下载和安装过程附加数据。

据我所知,无法通过API安装到SD卡上,只能将应用程序安装到设备的内部存储器中。下载其他数据应该以APK的形式通过市场完成,或者只需下载一个应用程序的zip文件,并以这种方式将附加数据安装到SD卡上。

如果您以任何方式写入SD卡,您将需要像moritz建议的WRITE_EXTERNAL_STORAGE权限。

+0

我创建了关于此问题的更详细的问题,在这里: http://stackoverflow.com/questions/2001636/convert-httpresponse-to-an-apk-file 请按照 谢谢 – Tsimmi 2010-01-04 19:38:30