AntWithAntenna

来源:互联网 发布:淘宝驿站寄件什么意思 编辑:程序博客网 时间:2024/06/05 15:53
好久说写点东西出来,一直没有写,现在小有时间,写点东西给兄弟们,聊聊ANT ,ANTENNA,ECLIPSE. 用了这么久,无论是MBOX,UNIJA,OEM,我们的开发流程一般是这个样子的,

 

  1. 修改源码
  2. 编译源码,混淆
  3. 打包,本地测试
  4. OTA部署
  5. 真机测试.

在这些过程中,我以前的操作很重复,而且枯燥,易出错。我个人的流程缺陷如下:1,每次编译时,要COPY一些JAVA文件到某一个目录,以前老用WTK编译,用JB,ECLIPSE编辑源码,在这个过程中,要打开WTK,清除上次临时CLASS文件,编译,打包,这些操作是要分布的。

接下来就是打包,对每个平台,每个机型,都要根据不同的要求来打包,跟规范适应,那个是MIDP1,那个是MIDP2, JAD中要有那些选项,比如MOTO平台的JAD就要比别的多一个MIDlet-Icon,NEC要求Media-price,P小写,这些细节问题每次开发都要遇到,都要手工来改,就是开发人员对每个机型做不同的JAD添加修改删除等工作。在项目越来越多时,这些工作就会占用一部分时间。有没有一劳永逸的方法,有,这就是AntWithAntenna!

在打包的时候,也是利用IDE所谓的快捷键,来实现一键编译,在做一个平台的应用时,这个还可以,面对很多应用时,这些操作就变成了,保存,点对话框,编译,这些还好。不怎么繁琐。在打完包,如果时特定平台的,要起来特定的WTK,运行模拟器,这是,就是从开始-程序-寻找-打开模拟器-然后再打开JAD-看模拟结果。有没有简化的方法,一步到位,编译就直接打开模拟器(有些模拟器是不能在JB,ECLIPSE中打开的,需要在命令行运行,此处特指这些模拟器),简化的方法,就是AntWithAntenna!

在OTA部署的时候,一般的做法,打开一些FTP工具,操作工具的某些选项,找到文件夹,拖拽,虽然操作简便,可是,要找文件夹,找到你要传的OTA,这些工作,每次大概耗费30秒左右。而且,在调试阶段,每个程序大概能做到10-20次,这样,你就要耗费 10×30~20×30大约5到10分钟。这些时间利用AntWithAntenna.可以节约3/4,你操作的步骤越多,越繁琐,越步骤化,它节余的时间就越多。总之,AntWithAntenna.是一个利用你制定好的规则来代替那些复杂繁琐的工作!

真机测试,这个时候就是从OTA当了,一般我们是要在编译完,上传完,才开始下载的。那么能不能让编译和下载的时间同步呢?就是你编译的时候就开始测试呢?答案是,能! 当你编译的时候,你一个手操作鼠标,另一个手就可以打开可爱的phone browser ,而且如果手机里填好书签后,就更方便了,在手机开启浏览器后,连接网络,寻找OTA的过程中,大约耗费时间5~10秒,这个时间完全够AntWithAntenna.编译上传部署的。所以,就能做到下载和编译同步进行,这样,就可以节约下载的10秒(不用等到上传完再下载)。一切都是我亲爱的AntWithAntenna!!!

AntWithAntenna是万能的吗?当然不是,我不是在鼓吹它,但是我是的确很爱它!!!

感慨发完, 下面就是该如何做? 我们的步骤该如何写? 我们的需求都有那些? 我们定制的BUILD.XML以后的扩展在那里? 我的设计目标就是MOBX,UNIJA,OEM.不管什么平台,不管什么应用,都要求能支持。针对不能平台要利用ANT识别,并对不同平台自己决定要把那些放在JAD里,MANIFEST文件那些属性。因为我们测试的EXCEL文件可以看出,几乎都有JAD的问题。这是对JAD的要求,要求自动编译,就是清楚临时CLASS,自动打包,然后上传到OTA.

这样我们最后的目标就能是这样,你只需要关心程序的逻辑,和几个简单的参数,就是你的平台,应用名称,主类就可以了。其他的,一切都由AntWithAntenna来做!

关于ANT的知识,大家可以查阅ANT DOC。

关于我现在用的BUILD模板给传上去。大家可以自己定制。 在定制的过程中,有几个注意事项

  • JB,ECLIPSE已经内涵ANT,但是要想实现以上的目标,还需要几个自己的LIBRARY. commons-net-current.zip是实现OTA部署功能的。有自己的FTP,HTTP等常用的TASK. jakarta-oro-2.0.1.zip 是辅助commons-net-current的一个LIBRARY. antenna 就不要说了。
  • antenna虽然都集成了很多功能到几个TASK,但是,在打包时,我发现一个BUG,就是不支持中文。所以,在打包时,我没有用antenna。我这里用的antenna就是它能update jar size 属性。
  • 以上的包只要能让jb,eclipse识别找到就可以。
  • 据antenna的作者说,antenna只支持标准的SUN wtk.那么对一些其他的WTK,比如,nokia,motorola等等,你只需要在编译时,把他们的LIBRARY 放到标准下的WTK下就可以实现了。启动模拟器的时候,你直接配置命令行就可以了。

暂写这么多,兄弟们有什么意见可以讨论。欢迎讨论。

下边本人有几个议题想跟兄弟们探讨。

 

  • 一张PNG图片到底在kvm中耗费多少内存?
  • 如何写一套JAVA代码并利用antenna实现多平台支持。
  • 关于RealTimeDebugging

可以看我的CSDN Blog。

谢谢!

<请勿转载,作者保留所有权利,如若转载,请通知作者>