The article translate from Darryl Mocek’s blog. Darryl Mocek is a staff engineer for sun microsystems,Inc. currently working on J2ME CDC and related techonlogies. the URL is : http://weblogs.java.net/blog/darryl_m/archive/2006/11/phoneme_advance.html

So, let’s begging…

      在这篇文章里,我们将会谈到 PhoneMe 高级工程的目录结构。当你读到这篇文章的时候可以通过这里的链接浏览源代码。你也可以加入这个工程来做这个。

      PhoneME Advanced的源代码从 components/cdc/trunk 目录开始。在 trunk 目录下有下面的目录:

  • build  包含 make 文件
  • src   包含源代码
  • test  包含测试文件

这是显而易见的。

      一旦你在 src 目录,你就在所有平台源代码的根路径上了。你可以注意到有一个 share 目录包含有一系列的硬件和操作系统目录。我们将在后面谈到它。这些目录包含了特定硬件和操作系统的源代码(除了 share 目录)。下面的 share 目录里包含了大多数的 PhoneMe Advanced 的代码

  • appmanager  包含应用程序管理代码
  • basis   包含个人基本描述的代码
  • cdc    包含个人连接设备的演示代码
  • classes    包含个人连接设备的代码
  • foundation   包含基础描述的代码
  • javavm     包含 cvm 的代码
  • lib         包含java 安全文件
  • native    包含共享的本地代码
  • personal   包含个人描述的代码
  • tools        包含工具

        这些所有的目录都可以有一个类别:基层的,个人的。在这里最典型的是 classes 和 native 目录。classes 目录包含了所有的java代码,native目录包含了所有的本地支持代码。native目录豪华 JNI 代码和那些需要用到的库,比如 Qt

        appmanager 目录完全由java代码组成,没有包含本地代码。 cdc 目录只包含了演示代码,lib 目录包含了2个 text 文件来描述和java 安全有关的东西,一个策略文件和一个安全文件。tools 目录包含java代码和本地代码,但现在的目录结构有稍微的不同,现在我集中在 profile 代码。

       classes目录下面,大部分是 java package的根。所以你在下面能找到 java/lang 目录。

        CDC profile 建立在其他部分之上。所以 personal basis profile 包含了基础profile,personal profile 又包含了personal basis profile。 在这些目录中,foundation profile 代码包含在 foundation 目录。personal basis profile 包含在 personal basis目录中。在这些不同的目录中你可以找到一些相同命名的profile文件。比如:你可以在 basis/classes/common/java/awt/toolkit 下找到 toolkit.java 。在 personal/classes/common/java/awt/toolkit 下找到 toolkit.java 。这说明他们是不同系列的 profile 文件。

          在 build 目录下,你可以找到和 src 类似的目录结构。一个 share 目录,它包含了跨越所有平台的 make 文件。特定的目录对应特定的平台,下面的 make 文件都是对对应平台优化了的。


评论

该日志第一篇评论

发表评论

评论也有版权!