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





阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/fingding/article/details/46813291
个人分类: android
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

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

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭