Android读取打包到assets目录下的文件

apk安装之后会放在/data/app/**.apk目录下,以apk形式存在,asset/res和被绑定在apk里,并不会解压到/data/data/YourApp目录下去,所以我们无法直接获取到assets的绝对路径,因为它们根本就没有。

例如访问本地的一个index.html文件

将index.html放到assets目录下,然后通过WebView的loadUrl(file:///android_asset/index.html)访问,这是没有问题的,但是如果你想在/data/data/YourApp找到index.html,那是不可能的。你可以通过RE来查看/data/data/YourApp目录,看是否有index.html存在。答案当然是没有了。


如果想访问assets目录下的文件,只能通过AssetManager,它的原理也是找到/data/app/**.apk,然后解压读取数据。


目前nodejs在android平台上使用第三方模块遇到这样的问题。第三方模块也是和nodejs一起打包的,nodejs需要读取第三方模块。目前先采用2>中提到的方案,即先解压到sdcard中再读取。


1> Android资源管理框架(Asset Manager) 

原文:http://blog.csdn.net/luoshengyang/article/details/8738877/

2> android中拷贝assets下的资源文件到SD卡中(可以超过1M)

原文:http://www.cnblogs.com/wainiwann/p/3274386.html





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值