NetBeansのAndroidプラグインでライブラリを使ったプロジェクトのビルド

NetBeansAndroidプラグインでは、ライブラリのjarを使ったプロジェクトをビルドしても、apkパッケージにそのjarのクラスが含まれないので、ClassNotFoundExceptionとかが出てしまいます。


ということで、antスクリプトをいじって、ライブラリがちゃんと含まれるようにしてみました。
build-impl.xmlの-dexタスクを次のように変更します。

    <target depends="init,compile,-pre-pre-jar,-pre-jar" name="-dex">
        <pathconvert pathsep=" " property="dex.classpath">
            <path path="${javac.classpath}"/>
        </pathconvert>
        <exec executable="${dx}" failonerror="true">
            <arg value="--dex"/>
            <arg value="--output=${basedir}/${intermediate.dex}"/>
            <arg value="--positions=lines"/>
            <arg path="${build.classes.dir}"/>
            <arg line="${dex.classpath}"/>
        </exec>
    </target>


つまり、dxコマンドの呼び出しの最後に、javac.classpathに設定されたファイルをスペース区切りで渡してるだけです。もう少しいい書き方があるかもしれないけど。


あと、そもそも今ダウンロードできるAndroidプラグインはNetBeans6.9.1で動かないという話もありますが、NetBeans6.9.1で動くようにする方法はまたあとで書きます。