关于android 如何安装 assets文件下的apk

本来来源于为了得分回答别人的问题,不详细思考,不验证,就把百度的答案贴上去,所以在此,先道歉http://bbs.csdn.net/topics/390432635。


留有问题,当没有SD卡又不知道内部存储路径时,这时候我本打算将APK 存到

/data/data/<packagename>/files/xxx.apk 该位置,然后安装,然后删除。但是出现问题,出现解析错误,我试过chmod 777 来给予权限了依然有问题。等待解答。


那下载安装,下载路径有是怎么一种情况,又是如何安装的呢?有待于学习。


运行该示例代码的可能出现问题,就在文件名和路径名那里。如果有问题,请更改这两处。

本文中的所有代码都经过本人验证。



从整体上看,一般的对于assets 里面的apk进行安装的操作是先将 apk 复制到sd上 或者其他的可读取存储位置。比如我拿到的机子 有两个路径

 /mnt/emmc/ 手机的内部存储位置(其他的手机不一定有)

 /mnt/sdcard/ 手机的sd存储位置

 复制到这两个路径都OK。


首先要获取assets目录下文件的数据流,用于写到存储位置上。

//这里的fileName 这个是assets文件下的全文件名 包括后缀名。

path 是存储的路径位置,绝对路径。

InputStream is = context.getAssets().open(fileName);
File file = new File(path);
file.createNewFile();
FileOutputStream fos = new FileOutputStream(file);
byte[] temp = new byte[1024];
int i = 0;
while ((i = is.read(temp)) > 0) {
fos.write(temp, 0, i);
}
fos.close();
is.close();

通过Context 获取到AssetManager

abstract  AssetManager getAssets()
Return an AssetManager instance for your application's package.
  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值