您的位置:首页 > 其它

在visual studio 2005 中快速搭建手机程序开发环境

2006-11-26 21:29 645 查看
今天想反编译一个手机上的java程序,所以看了些关于手机java程序开发的资料,似乎没有找到直接用visual studio开发手机程序的,又不想下载开发工具,估计都有点大,所以就研究了一下午,终于成功搭建好了开发环境,开发时和C++程序开发完全一样,写好代码,直接F5就可以看到模拟手机上运行效果,并且有错误提示,没有用midp2自带的模拟器,用的是midp2exe。下面我来说说搭建方法。

准备工作,需要下载java 2 sdk也就是j2se,然后安装之,再下载midp2,我这里的安装路径是C:\j2sdk1.4.2_13。在环境变量里面的path部分添加C:\j2sdk1.4.2_13\bin,以方便我们调用java编译器,我这里midp2的安装目录为D:\midp20,也需要把D:\midp20\bin添加到path环境变量中,然后设置类文件变量也就是CLASSPATH,这里因为我们开发的是midp手机应用程序,所以理所当然的要使用midp类,也就是我们需要将CLASSPATH变量设置为D:\midp20\classes;.后面的;.是说包含程序本目录。上面路径均为我这里实际路径,实际操作时需要按情况更改。然后还有midp2exe的安装目录一起添加到path中。好了,现在开始正式进入visual studio设置。
首先我们需要新建立一个空的C++项目,设置你可以完全不管,因为我们根本就用不到,新建立好项目后,我们需要添加自定义生成规则文件。来处理java。我设置的规则文件如下。
<?xml version="1.0" encoding="utf-8"?>
<VisualStudioToolFile
Name="java生成"
Version="8.00"
>
<Rules>
<CustomBuildRule
Name="java生成配置"
DisplayName="java生成配置"
CommandLine="[javacpath] [gdebug] [nowarn] [classpath] [inputs] [outpath]"
Outputs="*.class"
FileExtensions="*.java"
ExecutionDescription="正在编译..."
ShowOnlyRuleProperties="false"
>
<Properties>
<BooleanProperty
Name="gdebug"
DisplayName="不生成调试信息"
PropertyPageName="编译器"
Switch="-g:none"
/>
<StringProperty
Name="javacpath"
DisplayName="编译器路径"
PropertyPageName="编译器"
Switch="[value]"
DefaultValue="javac.exe"
/>
<StringProperty
Name="classpath"
DisplayName="类包含目录"
PropertyPageName="编译器"
Switch="-classpath [value]"
/>
<BooleanProperty
Name="nowarn"
DisplayName="是否忽略警告信息"
PropertyPageName="编译器"
Switch="-nowarn"
/>
<StringProperty
Name="outpath"
DisplayName="文件生成目录"
PropertyPageName="编译器"
Switch="-d [value]"
DefaultValue="$(OutDir)"
/>
</Properties>
</CustomBuildRule>
</Rules>
</VisualStudioToolFile>
大概意思是,调用javac编译器来编译.java文件。然后我们需要在工具生成顺序中去掉没有用的生成不走,也就是只剩下,预生成事件工具,自定义生成工具,然后再选上刚刚建立的生成配置,然后还需要选上生成后事件工具。
现在虽然能编译.java文件了,但是我们需要做的还远非这点,我们需要在生成事件的预生成事件里面判断输出目录是否存在,因为我们已经去调了原来的生成工具,所以程序生成时,并不会为我们创建生成目录,因为在命令行里面写上if not exist $(OutDir) md $(OutDir) 这样当目录不存在的时候就建立他,以保证后面的生成过程不出错。
想想我们将所有.java文件生成完毕后我们需要做什么,那就是效验,然后打包,效验对于非手机软件是不必要的,但是我们这里搭建的就是开发手机程序的,我们在生成后事件里面调用一个批处理来完成我们的收尾工作,所以我们可以这样写。cmd.exe /c comjava.bat $(OutDir) $(ProjectName) $(TargetDir) 我们传递一部分需要的参数后,所有操作都到批处理里面完成。
效验比较麻烦,我们需要调用preverify.exe来效验,但是这个文件并不支持CLASSPATH变量,而且无法在visual studio里面直接再调用,所以我写了一个小程序来完成效验,效验完毕后我们需要打包,
批处理内容如下:
@echo off
if exist %1\mobilebin\%2.jar echo Y|del %1\mobilebin\%2.jar
cverify %3
if not exist %1\mobilebin md %1\mobilebin
jar cfm %1\mobilebin\%2.jar MANIFEST.MF -C %1\mobileclass\ .
midp2exe -jar %1\mobilebin\%2.jar

大概意思一看就明白,cverify是我写的一个效验程序。
到这里环境基本搭建完毕,保存项目,以后需要开发程序直接在这个项目基础上添加代码,无非变动下环境变量。
我的项目下载(上次放错了连接,现已修正)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: