0%

Android-APK的资源加载

APK的资源

Android 资源大概分为两个部分:assets 和 res

assets 资源

assets 资源放在 assets 目录下,它里面保存一些原始的文件,可以以任何方式来进行组织,这些文件最终会原封不动的被打包进 APK 文件中,通过AssetManager 来获取 asset 资源,代码如下

1
2
3
AssetManager assetManager = context.getAssets();
InputStream is = assetManager.open("fileName");

res 资源

res 资源放在主工程的 res 目录下,这类资源一般都会在编译阶段生成一个资源 ID 供我们使用,res 目录包括 animator、anim、 color、drawable、layout、menu、raw、values、XML等,通过 getResource() 去获取 Resources 对象。

1
Resources res = getContext().getResources();

在APK的生成过程中,会生成资源索引表 resources.arsc 文件和 R.java文件

APK构建指南 关于R.id 请看这里。

resources.arsc 资源索引表

AssetManager

Resources