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

原创 2015年07月09日 10:29:26

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





版权声明:本文为博主原创文章,未经博主允许不得转载。

Gradle编译时,assets文件未打包进apk

没有用Android Studio导入,采用自己编写的build.gradle文件,在命令行中直接键入 gradle build 命令进行编译,发现assets目录下的资源文件未被打进apk中,反而...
  • harry_helei
  • harry_helei
  • 2016年12月15日 17:38
  • 2063

Android中读取assets目录下的文件详细介绍

前言Android 中资源分为两种,一种是res下可编译的资源文件, 这种资源文件系统会在R.java里面自动生成该资源文件的ID,访问也很简单,只需要调用R.XXX.id即可;第二种就是放在asse...
  • Greathfs
  • Greathfs
  • 2016年08月04日 22:46
  • 54797

[android] 指定apk assets里面的文件是否压缩的方法

ant 的 build.xml,查找 nocompress, 按照说明添加后缀,例如: 则 asseets或res/raw里面的后缀为zip的文件不会被压缩(因为已经压缩过了) 另外,...
  • n5
  • n5
  • 2014年12月08日 17:35
  • 4434

Android使用gradle打包Assets目录

现在提起Android开发工具,大多人第一个想到的肯定是Android Studio。谷歌专门为Android开发者推出的这款IDE,以其强大的功能迅速击败的老牌的eclipse。与此同时,eclip...
  • luochoudan
  • luochoudan
  • 2017年05月14日 21:16
  • 1785

Android读取assets目录下所有文件

package org.crazyit.image; import java.io.IOException; import java.io.InputStream; import android....
  • laotou99
  • laotou99
  • 2014年12月06日 11:38
  • 8348

Android读取assets目录下文件数据内容

Android读取assets目录下文件数据内容
  • zhangphil
  • zhangphil
  • 2015年09月06日 18:23
  • 3709

Android开发之assets目录下资源使用总结

因为系统在编译的时候不会编译assets下的资源文件,所以我们不能通过R.XXX.ID的方式访问它们。那我么能不能通过该资源的绝对路径去访问它们呢?因为apk安装之后会放在/data/app/**.a...
  • fengyuzhengfan
  • fengyuzhengfan
  • 2014年08月03日 18:42
  • 55236

Android 获取assets的绝对路径

第一种方法:        String path = "file:///android_asset/文件名"; 第二种方法:     InputStream abpath = getCla...
  • liaowenfeng
  • liaowenfeng
  • 2013年12月31日 16:34
  • 106963

读写Android中assets目录下的文件的方法详解

Android资源文件大致可以分为两种: 第一种是res目录下存放的可编译的资源文件: 这种资源文件系统会在R.java里面自动生成该资源文件的ID,所以访问这种资源文件比较简单,通过R.XXX.ID...
  • lizhenmingdirk
  • lizhenmingdirk
  • 2016年12月16日 09:40
  • 4624

android 如何获取 assets 下文件的路径

apk安装以后放在/data/app/**.apk,以apk形式存在,asset/res和apk在一起,并不会解压到/data/data/YourApp目录下去,所以你无法直接获取到assets的绝对...
  • zengxx1989
  • zengxx1989
  • 2014年06月23日 15:04
  • 2833
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android读取打包到assets目录下的文件
举报原因:
原因补充:

(最多只允许输入30个字)