NetBeans上でAndroidSDK1.5を動かせないという話を見かけたのでやってみました。

結論から言えば動かす事が可能でした。

問題の原因は、Android SDK1.5からSDKのディレクトリ構造が変わったため、NetBeansで動くプラグインがそのまま使えないからです。

nbandroidインストール

NetBeans用Androidプラグインの、ANDROID PLUGIN FOR NETBEANSをNetBeansのアップデートセンターからインストールします。

NetBeansを起動し、メニューから「ツール」→「プラグイン」を選択

「設定」タブに移動、追加ボタンをクリックし以下の情報を入力する

名前 nbandroid 任意
URL http://kenai.com/downloads/nbandroid/updates.xml

add android site

added android site

使用可能なプラグインタブへ移動し、Androidを探す

move to plugin tab

チェックしてインストールボタンを押す

install start

ライセンス

インストール途中で著名がないとエラーが出るけど無視して終了

license

プラットフォームの設定

インストールが終了したら、プラットフォームの設定を行います。

メニューから「ツール」ー>「Javaプラットフォーム」を選択

「プラットフォーム追加」ボタンをクリック

add platform

「Google Android Open Handheld Platform」にチェック

Google Android Open Handheld Platform

プラットフォームフォルダにはAndroid SDKのフォルダを選択

Android SDK 1.5はフォルダ構成が変わったためそのままでは使用できない。 「C:¥android¥android-sdk-windows-1.5_pre¥tools」配下のファイルを「android-sdk-windows-1.5_pre¥platforms¥android-1.5¥tools」にコピーして、プラットフォームフォルダに「android-sdk-windows-1.5_pre¥platforms¥android-1.5」を指定することで利用できるようになる。

sdk directory

任意の名前を付ける、今回はSDK1.5のみを対象としたので、Android SDK1.5r1と名前を付けました。

platform name

インストール完了

install finish

プロジェクト作成

メニューから「ファイル」→「新規プロジェクト」を選択する

プロジェクトカテゴリ「Android」、プロジェクト「Android Application」を選択して次へ

プロジェクト名、パッケージ名、Activity名等を入力し完了

プロジェクト作成終了

以下のようなプロジェクトが作成されます。

netbeans_android15_3_1.png

ビルドを行うと、build-impl.xml:440にエラーがあると言われます。
このエラーは、Android SDK 1.1の時にも発生していたのと同じエラーです。

絶対パスではなく相対パスで指定されているかららしいので、手動で以下のように、${dist.apk}となっている部分を${basedir}/${dist.apk}へ変更する。

C:¥android¥NetBeansProjects¥NBTest¥nbproject Line439-446あたりで、変更箇所は3つ。

変更前


<target depends="init,-package-res-and-assets,-package-res-no-assets,-package-java,-package-dex" name="-sign">
<exec executable="${apkbuilder}" failonerror="true">
<arg value="${dist.apk}"/>
<arg value="-z"/>
<arg value="${dist.apk}_"/>
</exec>
<delete file="${dist.apk}_"/>
</target>

変更後


<target depends="init,-package-res-and-assets,-package-res-no-assets,-package-java,-package-dex" name="-sign">
<exec executable="${apkbuilder}" failonerror="true">
<arg value="${basedir}/${dist.apk}"/>
<arg value="-z"/>
<arg value="${basedir}/${dist.apk}_"/>
</exec>
<delete file="${basedir}/${dist.apk}_"/>
</target>

修正してエラーがなくなれば次はデバック実行をします。

デバック実行

デバック実行をしてもエミュレータが起動しません。

Android SDK1.5ではエミュレータの起動方法が変わったからで、パラメータとエミュレータの位置を先ほどの、build-imple.xmlに記載します。

build-imple.xml line474

手を抜いてフルパス指定しました。


<exec executable="C:androidandroid-sdk-windows-1.5_r1toolsemulator.exe" spawn="true">

build-imple.xml line122

エミュレータの起動オプションです。以下の例では@normalとなっていますが、エミュレータAndroid AVDとemulator (SDK 1.5)に記載したように、自分で作成したAVD名を指定します。


<property name="emulator.options" value="@normal"/>

無事エミュレータが起動し、ブレークポイントで止まっています。

まとめ

とりあえずHelloWorld的な部分まで動作確認ができましたが、ガリガリと使い始めると他にも問題が出てくるかもしれません。

Android SDK1.1の時の大きな不具合も残ってますし、
プラグインの経緯は調べていませんので、まったくわかりませんが開発が止まっているのでしょうか?
触手が伸びる部分ではありますが、オラクル買収の話が落ち着かないと、作るにしても安心して作れない状況でNetBeansユーザはしばらく我慢する必要がありそうです

NetBeansの環境を整えるにあたって、KeiMiyaさんのAndroidSDK1.1導入記事を参考にさせてもらいました。

ブログ内の関連する記事

ブログ内のSDK1.5に関連する記事