Android开发-04-资源的生成
Android平台主要通过aapt工具来处理资源文件。
详细使用介绍可以参考:
http://elinux.org/Android_aapt
下面来研究aapt源代码。
参考:
http://www.cnblogs.com/dyllove98/archive/2013/06/19/3144950.html
目录结构:(frameworks/base/tools/aapt下输入tree)
├── AaptAssets.cpp ※ 重要
├── AaptAssets.h
├── Android.mk
├── Bundle.h
├── CacheUpdater.h
├── Command.cpp 实现各种命令。
├── CrunchCache.cpp 实现CrunchCache类
├── CrunchCache.h
├── DirectoryWalker.h
├── FileFinder.cpp 实现SystemFileFinder,没什么好说的,对linux文件操作API不熟悉的建议回炉大名鼎鼎的APUE。
├── FileFinder.h
├── Images.cpp 封装libpng,实现png解码,也没啥好说的,不熟悉的话直接看libpng文档。
├── Images.h
├── Main.cpp 入口,检查参数,并解析执行相关命令。
├── Main.h
├── NOTICE
├── Package.cpp ※ 重要 实现各种资源打包函数。
├── printapk.cpp 不清楚干什么,查看Makefile,好像也没使用。
├── pseudolocalize.cpp
├── pseudolocalize.h
├── qsort_r_compat.c 封装qsort
├── qsort_r_compat.h
├── Resource.cpp 对资源进行解析
├── ResourceFilter.cpp
├── ResourceFilter.h
├── ResourceIdCache.cpp ResourceIdCache
├── ResourceIdCache.h
├── ResourceTable.cpp ※ 重要 ResourceTable
├── ResourceTable.h
├── SourcePos.cpp 类SourcePos
├── SourcePos.h
├── StringPool.cpp 类StringPool
├── StringPool.h
├── tests 测试目录
├── WorkQueue.cpp 封装线程
├── WorkQueue.h
├── XMLNode.cpp 封装XML解析
├── XMLNode.h
├── ZipEntry.cpp
├── ZipEntry.h
├── ZipFile.cpp 封装zlib
└── ZipFile.h
待续...
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。