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

今天想反编译一个手机上的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是我写的一个效验程序。
到这里环境基本搭建完毕,保存项目,以后需要开发程序直接在这个项目基础上添加代码,无非变动下环境变量。
我的项目下载(上次放错了连接,现已修正)

转载于:https://www.cnblogs.com/lifeengines/archive/2006/11/26/573240.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值