android源码分析-aapt

      aapt就是Android Asset Packaging Tool ,一般在sdk的tools中可以找到,一般是和adb之类的工具在一起。这个工具可以查看, 创建, 更新ZIP格式的文档附件(zip, jar, apk)。 也可将资源文件编译成二进制文件。

    android的核心代码还没有来得及看呢,这篇我主要是讲述这几天将linux上面的这块代码一直到windows上面的经验。aapt这个工具的代码主要是几种在framework/base/tools/aapt中,当然还有一些公共的头文件和src了。主要是在base/include/utils和base/libs/utils中,还有就是这个工具有用到3个开源的库分别是zlib,libpng和expat。我移植aapt就是为了拿到其中aapt的bradging功能以及抽取文件的作用。就像91或者qq的installapk工具一样的功能。对于linux我应该还是个初学者,所以在一直上面做头痛的就是那些使用到linux中的系统库函数了。我的做法很简单,对于编译不过的先声明,后实现。工程建好之后,在移植上面,我们需要在预处理期中定义一下HAVE_MS_C_RUNTIME
HAVE_WIN32_FILEMAP
HAVE_WIN32_THREADS
HAVE_WINSOCK

等宏,这样可以省下很多工作哦(google还是想的挺周到的)。很快,你就发现移植的工作差不多了,在这里,在调试过程中你会发现其中还有一点点小毛病来着。一个是集中在使用_get_ofhandle后的CloseHandle的问题,其实这个CloseHandle可以直接注释点,因为_close之后就没有必要CloseHandle,不信的可以读一下msdn。今天就写到这里,后面再把这部分代码传上去。

    原文作者:Android源码分析
    原文地址: https://blog.csdn.net/whf727/article/details/7283934
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞