对于Android Framework层的学习,在上一次的 Android框架层学习指导 中我们已经讲到了基础的结构和定义,但是对于Framework层的核心还有哪些呢? 1. 在Android源码的base中,我们可以看到每个目录进去,都会有java和jni两个文件夹,后者对于初入android框架的学习十分有帮助,如果你刚开始了解NDK和JNI相关的不妨读读Google的代码,这对于代码风格和质量的提高都很有帮助。 2. 对于NDK和JNI来说,编译我们需要一个好的环境,这里还是推荐基于Unix架构的Linux或Mac OS编译,Android123推荐放弃Windows下的Cygwin和MingWin可以节省不少的时间,对于编译来说先掌握mk文件的结构比较重要,这里可以直接查看base目录中每个jni子目录的android.mk文件即可,在Linux下mk文件这种脚本方式对于过去一些Visual Studio用惯的可能感觉有些原始。 3. 当然学习Android Framework可以帮助改进系统,定制自己的固件,部分核心的库是独立的external包,比如说 SQLite、Webkit、zlib、libpng这些Android使用第三方开源的库都是在platform/external/xxx.git中。xxx代表最终的库名。 4. 对于部分的核心库,上次我们在Android框架层学习指导一文中由于篇幅并没有提到,其实在base目录下面的native中可以看到很多系统结构的定义和实现。Android开发网推荐深入掌握Android这个namespace中的所有结构,这样的基础是十分必要的。 5. 最后我们附上Base目录的结构图,希望对大家有用: ├─api├─build├─cmds│ ├─am│ │ └─src│ │ └─com│ │ └─android│ │ └─commands│ │ └─am│ ├─app_process│ ├─backup│ ├─bmgr│ │ └─src│ │ └─com│ │ └─android│ │ └─commands│ │ └─bmgr│ ├─bootanimation│ ├─bugreport│ ├─dumpstate│ ├─dumpsys│ ├─ime│ │ └─src│ │ └─com│ │ […]
学习指导
Android JNI学习指导 Android开发技术
很多网友对Android JNI和C++开发相关的技术很感兴趣,由于JNI大部分技术都是针对Windows PC的,对于Android的JNI学习除了SDK中的一些例子外,其实大家完全可以通过Android源码中的base.git中根目录下的/core/jni文件夹下的cpp和h文件进行学习,这里是Google Android开发团队进行编码,在代码质量和稳定性方面都有保障,这里Android123推荐大家通过这些代码了解底层相关实现细节,虽然是C++的代码不过编码风格还是C的实现,对于基础学习,Android开发来说,开源方面的优势大幅超越封闭的iPhone和Windows Phone,同时对于间接使用Android Dalvik的Ophone OS 3、WebOS来说还是相当好的,当然有兴趣的网友可以移植Dalvik到Meego。

