浅析Android的资源打包及安装后Apk文件的路径
来源:互联网 发布:淘宝达人怎么获得佣金 编辑:程序博客网 时间:2024/04/30 01:19
Apk包对于Android系统来说是一个可执行文件,但其实质上是一个压缩包。把apk文件转为自拍格式,然后解压,可以看到:
解压Apk后文件夹里包含的文件:
1)assets目录,保留工程中assets目录,其他工程下的、jar包中的assets也会合并到该assets目录下。
2)lib目录,由于编译的时候jar文件已经合并到主工程中,所以lib目录下不会有jar文件,但是lib中包含所有的so文件,so目录的路径保留原有的路径。
3)META-INF目录,信息描述,签名等用途。
4)res目录,工程资源文件,以主工程为主,其他文件如jar包会合并到该目录下;但是values文件将不会出现在此目录下,因为已经将其编译到resources.arsc文件中;raw文件将保持原有的内容不会被编译。
5)AndroidManifest文件,用来做组件查找。
6)classes.dex文件,虚拟机执行的文件。
7)resources.arsc资源文件索引。
Apk安装的过程实际上就是将Apk文件放到特定的目录下,应用级的应用一般放到data/app下,系统应用放到system/app下。并生成与此应用有关的文件。
下面是一般应用的路径:
对应应用ormlitedemo的文件内容:
关于资源文件访问的类是Resources和AssetManager,Apk安装完成后,资源的路径就可以指向这个apk文件了(相当于把这个apk的路径添加到资源路径中),就可以取得需要的资源。
dex文件也是通过DexClassLoader来加载的,所以如果我们在程序中使用加载器加载指定的dex文件,就可以实现动态加载了。Facebook分dex包也是基于这种方式来做的。至于为什么要分多个dex文件,原因如下:
因为一个应用的功能会越来越多,随着工程越来越大,代码量也会越来越多,但是Android方法数量不能超过65K,如果超出之后,将会抛出Conversion to Dalvik format failed:Unable to execute dex:method ID not in[0,0xffff]65536。由于Android系统中,一个Dex文件中存储方法的id用的是short类型数据,所以导致你的dex中方法数不能超过65K。可以通过去掉无用的jar包,或者将一些属性设置为public,从而可以去掉get/set方法来压缩方法数量。
Reference:
http://blog.csdn.net/meteorluoyidong/article/details/49799151
阅读全文
0 0
- 浅析Android的资源打包及安装后Apk文件的路径
- 浅析Android的资源打包和安装后Apk文件的下落
- Android打包代码混淆后的Mapping文件路径
- 打包jar文件的资源路径问题
- apk安装后数据存放的路径
- 解决java工程打包后无法找到资源文件路径的方法
- Android打包生成的APK安装包,安装后一打开软件就闪退问题
- 关于Android项目中打包资源文件到apk的总结
- react打包后图片和资源路径错误的解决方法
- android-反编译后重新打包apk文件
- 关于打包apk后在android 6.0 以上系统无法覆盖安装的坑
- android工程混淆代码打包的APK安装后无法启动
- android studio2.3以后给apk签名打包后安装失败的问题[INSTALL_PARSE_FAILED_NO_CERTIFICATES]
- android studio2.3以后给apk签名打包后安装失败的问题[INSTALL_PARSE_FAILED_NO_CERTIFICATES]
- android studio2.3以后给apk签名打包后安装失败的问题[INSTALL_PARSE_FAILED_NO_CERTIFICATES]
- android studio2.3以后给apk签名打包后安装失败的问题[INSTALL_PARSE_FAILED_NO_CERTIFICATES]
- 使用HBuilder打包APK安装后在Android手机中的路径
- 安卓打包后的apk安装后闪退解决策略
- Linux安装mysql数据库
- 数据结构总结之二分
- php笔记
- 深度学习正则化之dropout
- git常用命令
- 浅析Android的资源打包及安装后Apk文件的路径
- Shrio的filterChainDefinitions过滤器配置
- Couldn't resolve resource @drawable/homebackground
- sublime text3破解版 永久注册码安装 配置教程 主题 插件各种满足
- Bandicam 3.3.2.1195版破解及注册机(百度云)
- 指针数组与数组指针(C++,简单理解)
- [Unity插件]3D模型透明描边插件
- HDU
- NLP汉语自然语言处理原理与实践 8 语义与认知