2006年4月アーカイブ

BREW™ SDK ACCESS ERROR

んー、なんでやー、と思っていたら登録情報をそれなりに書かないと駄目らしい。
あー、面倒。ただでさえやる気ないのに。
たいしたもの配ってるわけじゃないのに、こういう事する会社って嫌いだ。

さて久しぶりにVMwareやろかいなと、Gentoo Linux

VMware Serverベータ版入れる。
で、Gentoo Linux x86 ハンドブック読みながらしこしこと Kernel Panic。
どうやらSCSIよりIDEのほうがいいらしいが、VMwareごときで逃げてどうするということで、カーネルに必要そうなもの(SCSI device support, BusLogic SCSI, Fusion MPT, AMD PCnet32 PCI, etc.)を全部組み込む。
んで、とりあえず立ち上がった。
Xorgとgnomeを入れるようとするとapmdのインストール/usr/lib/gcc/i686-pc-linux-gnu/3.4.4/と存在しないものを探しにって止まる。
面倒なので、

ln -s /usr/lib/gcc/i686-pc-linux-gnu/3.4.5 /usr/lib/gcc/i686-pc-linux-gnu/3.4.4

とりあえず待っている間におやつと母親が買ってきたけれども全く読んでいないような本はコンプリート。
でVmware Toolsをごりっと入れる前におまじない。

mkdir /etc/rc.d/rc0.d /etc/rc.d/rc1.d /etc/rc.d/rc2.d /etc/rc.d/rc3.d \
/etc/rc.d/rc4.d /etc/rc.d/rc5.d /etc/rc.d/rc6.d

アレだが深く考えてはいけない。
で、なんかマウスとかキーボードがうまく設定できなかったので手で/etc/X11/xorg.confを書き換え。

Option "XkbModel" "jp106"
Option "XkbLayout" "jp"
...
Option "Protocol" "Im/PS"
Option "Device" "/dev/psaux"

で、
gentoolinux_vm.png

QUALCOMM BREWホームから BREW SDK が落とせない。
死んでしまえ。

あれよあれよとeclipse で Vアプリ。

開発ツールを落とす。
http://developers.vodafone.jp/dp/tool_dl/java/emu.php

eclipseの設定は下を参考。
eclipseの設定(Vアプリ・MIDP編)(http://mjdf.potrin.com/pages/eclipse_03.html)
antを用いたビルドについて(http://mjdf.potrin.com/pages/chapter5.html)

ProGuardも落とす。

antでマニフェストを吐き出すようする。

<echo>マニフェストファイル作成開始</echo>
<echo file="${prj.bin}/MANIFEST.MF">Manifest-Version: 1.0
MIDlet-Name: ${prj.name}
MIDlet-Vendor: ${prj.vendor}
MIDlet-Version: 1.0
MicroEdition-Configuration: CLDC-1.0
MicroEdition-Profile: MIDP-1.0
MIDlet-1: ${prj.name},,${prj.name}</echo>
<eclipse.refreshLocal resource="${basedir}/bin" />
<echo>マニフェストファイル作成終了</echo>

ProGuardが-outjarで.jar以外にするとディレクトリ作ってしまうのでちょっと修正。

<echo message="難読化中しています..."/>
<echo message="難読化対象外クラス:${obfuscate.keep.cls}"/>
<java fork="yes" classname="proguard.ProGuard" classpath="${tool.obfuscate.cmd}" failonerror="true">
<arg line="-libraryjars ${tool.library}"/>
<arg line="-injars ${prj.jar}"/>
<arg line="-outjar ${basedir}/bin/tmp.jar"/>
<arg line="-keep ${obfuscate.keep.cls}"/>
</java>
<!-- 対象JARを削除し新しいJARと名称を入れ替える -->
<move file="${basedir}/bin/tmp.jar" tofile="${prj.jar}" overwrite="true" />

いやはやeclipse で EZアプリ(Java™)。

Java2 SDKは前にいれた。
http://java.sun.com/j2se/1.4.2/ja/download.html

Sun Java Wireless Toolkit もいれる。
http://java.sun.com/products/sjwtoolkit/index.html

とりあえず、開発ツール(ezplus_emulator.exe)をいれる。
http://www.au.kddi.com/ezfactory/tec/spec/ezplus.html

設定がめちゃくちゃなのを直す。

javac path: C:\j2sdk1.4.2_11\bin\javac
jar path: C:\j2sdk1.4.2_11\bin\jar
preverify path: C:\WTK22\bin\preverify
other after process path: javaw -jar c:\ezplusTools\Tools\CmdTool\KJXArchiver.jar -c %PROJDIR%\bin\%PROJ%.jad %PROJDIR%\bin\%PROJ%.jar %PROJDIR%\bin\%PROJ%.kjx
classes path: C:\WTK22\lib\midpapi10.jar;C:\WTK22\lib\cldcapi10.jar;C:\ezplusTools\Tools\KDDI-P\kddip.jar

eclipse の ANT をここ(http://eclipsewiki.net/eclipse/?J2ME)を参考に作ってみる。
jarsizeのとこが動かなくてよくわからなかったので、歪 : ezplus 開発環境をつくるを参考にしてDoja2.0 pluginからプラグイン持ってきて適当にやってみた。

<?xml version="1.0" encoding="Windows-31J"?>

<project name="project" default="run" basedir=".">
<!-- initDir task -->
<target name="initInfo">
<!-- プロジェクト名を設定 -->
<property name="info.project" value="HelloWorld" />
<!-- ベンダー名を設定 -->
<property name="info.vendor" value="test" />
</target>
<target name="initDir">
<!-- J2ME Wireless Toolkit のパスを設定 -->
<property name="dir.j2me" value="C:/WTK22" />
<!-- EZPlusTool のパスを設定 -->
<property name="dir.ezplusTool" value="C:/ezplusTools/Tools" />
<!-- J2SE のパスを設定 -->
<property name="dir.j2se" value="C:/j2sdk1.4.2_11" />
<!-- ソースコードを配置するパスを設定 -->
<property name="dir.src" value="${basedir}/src" />
<!-- コンパイルによる生成クラスファイルを配置するパスを設定 -->
<property name="dir.tmpclasses" value="${basedir}/tmpclasses" />
<!-- プリベリファイによる生成クラスファイルを配置するパスを設定 -->
<property name="dir.classes" value="${basedir}/classes" />
<!-- 各種出力ファイルを配置するパスを設定(マニフェストファイル,JAR,JAD,KJX) -->
<property name="dir.bin" value="${basedir}/bin" />

</target>

<!-- ファイルサイズ -->
<taskdef name="filetask" classpath="C:/jp.gr.ttj.Doja_0.0.1/anttask.jar" classname="jp.gr.ttj.ant.FileTask" />

<!-- initCmd task -->
<target name="initCmd" depends="initDir">
<property name="cmd.preverify" value="${dir.j2me}/bin/preverify" />
<property name="cmd.javaw" value="${dir.j2se}/bin/javaw" />
<property name="cmd.emu" value="${dir.ezplusTool}/Emulator/jbmidp.jar" />
<property name="cmd.kjx" value="${dir.ezplusTool}/CmdTool/KJXArchiver.jar" />
</target>
<!-- initOut task -->
<target name="initOut" depends="initInfo,initCmd" >
<property name="out.mf" value="${basedir}/bin/MANIFEST.MF" />
<property name="out.jad" value="${basedir}/bin/${info.project}.jad" />
<property name="out.jar" value="${basedir}/bin/${info.project}.jar" />
<property name="out.kjx" value="${basedir}/bin/${info.project}.kjx" />
</target>
<target name="init" depends="initOut">
<property name="build.classpath" value="${dir.j2me}/lib/midpapi10.jar;${dir.j2me}/lib\cldcapi10.jar;${dir.ezplusTool}/KDDI-P/kddip.jar" />
</target>

<!-- build task -->
<target name="build" depends="init">
<echo>ビルド処理開始</echo>
<javac
fork="true"
compiler="classic"
srcdir="${dir.src}"
destdir="${dir.tmpclasses}"
classpath="${build.classpath}">
</javac>
<echo>ビルド終了</echo>
</target>
<!-- preverify task -->
<target name="preverify" depends="build">
<echo>事前検証(プリベリファイ)開始</echo>
<exec executable="${cmd.preverify}" failonerror="true">
<arg value="-classpath" />
<arg value="${build.classpath}" />
<arg value="-d" />
<arg value="${dir.classes}" />
<arg value="${dir.tmpclasses}" />
</exec>
<echo>事前検証(プリベリファイ)終了</echo>
</target>
<!-- manifest task -->
<target name="mf" depends="preverify">
<echo>マニフェストファイル作成開始</echo>
<echo file="${out.mf}">Manifest-Version: 1.0
MIDlet-Name: ${info.project}
MIDlet-Vendor: ${info.vendor}
MIDlet-Version: 1.0
MicroEdition-Configuration: CLDC-1.0
MicroEdition-Profile: MIDP-1.0
MIDlet-1: ${info.project},,${info.project}</echo>
<eclipse.refreshLocal resource="${basedir}/bin" />

<echo>マニフェストファイル作成終了</echo>
</target>
<!-- jar archive task -->
<target name="jar" depends="mf">
<echo>jarファイルの作成開始</echo>
<jar manifest="${out.mf}" jarfile="${out.jar}" basedir="${dir.classes}" />
<echo>jarファイルの作成終了</echo>
</target>
<!-- jad task -->
<target name="jad" depends="jar">
<echo>jadファイルの作成開始</echo>
<!--<file property="jarsize" type="size" file="${out.jar}"></file>-->

<filetask property="jarsize" type="size" file="${out.jar}" />
<echo file="${out.jad}">MIDlet-Jar-Size: ${jarsize}
MIDlet-Jar-URL: ${info.project}.jar
MIDlet-Name: ${info.project}
MIDlet-Vendor: ${info.vendor}
MIDlet-Version: 1.0
MicroEdition-Configuration: CLDC-1.0
MicroEdition-Profile: MIDP-1.0
MIDlet-1: ${info.project},,${info.project}</echo>
<eclipse.refreshLocal resource="${prjPath}/bin" />
<echo>jadファイルの作成終了</echo>
</target>
<!-- kjx task -->
<target name="kjx" depends="jad">
<echo>kjxファイルの作成開始</echo>
<java fork="true" jar="${cmd.kjx}">
<arg value="-c" />
<arg value="${out.jad}" />
<arg value="${out.jar}" />
<arg value="${out.kjx}" />
</java>
<echo>kjxファイルの作成終了</echo>
</target>
<!-- run task -->
<target name="run" depends="kjx">
<echo>エミュレータの実行開始</echo>
<exec dir="${dir.ezplusTool}/Emulator" executable="${dir.j2se}/bin/javaw" failonerror="true">
<arg value="-jar" />
<arg value="${cmd.emu}" />
</exec>
<echo>エミュレータの実行終了</echo>
</target>
</project>

よくわからんが「ワークスペースと同じ JRE で実行」にしとく。

このアーカイブについて

このページには、2006年4月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2006年3月です。

次のアーカイブは2006年5月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。