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





GitHub 加速计划 / ass / assets
185
19
下载
Ultralytics assets
最近提交(Master分支:2 个月前 )
969b5911 3 个月前
dcb30515 4 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐