コマンドプロンプト利用のAndroidアプリ開発環境を構築する

Androidアプリ開発環境を 42分で構築する方法で、Eclipse上で開発する環境ができました。さらに、コマンドプロンプト”画面でDDMSやADBといったAndroidツールを”実行するのであれば、システム環境変数の設定をおこないます。

※以下の記述中バックスラッシュ記号は円記号です。コピペすると円記号になるはずです。

“コマンドプロンプト”画面を開くには、「Windows」キーを押しながら「R」キーを押して”ファイル名を指定して実行”画面を開き、名前欄に「cmd」と入力し、「OK」をクリックします。

“コマンドプロンプト”画面では、入力された文字列をコマンド(命令)と判断し、内部コマンド(cmd.exeファイルに格納されている命令)ならそれを実行します。内部コマンドでなければ、外部コマンドかプログラム(.exe、.com)かバッチファイル(.bat、.cmd)が入力されたと想定し、該当ファイルを検索し実行します。バッチファイルとは、条件分岐や変数とコマンドを組み合わせてプログラム的に制御して実行するものです。

Androidアプリ開発環境を 42分で構築する方法で構築している場合、DDMSを起動するバッチファイル「ddms.bat」は「c:\android-sdk\tools」に、ADBのプログラム「adb.exe」は「c:\android-sdk\platform-tools」にあります。

この段階でDDMSを起動しようとして、試しに「ddms」(拡張子は省略可能なので「ddms.bat」でなくてもよい)と入力して「`ddms`は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません。」と表示されエラーになるはずです。

今の段階でDDMSを起動するには、「c:\android-sdk\tools\ddms」と絶対参照(ルートディレクトリからのフルパス)で入力するか、「cd c:\android-sdk\tools」(「cd」は、change directory(チェンジ ディレクトリ) のこと)と入力し、Androidツールの階層に移動してから「ddms」と入力します。入力した結果「`SearchForJava`は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません。 WARNING:Java not found in your path. Checking if Java is installed in C:\Program Files\Java.」と表示されるなら、Javaの場所が認識できていません。ORACLEのサイトからJava SEのダウンロードJavaのダウンロードをしたことがあればこのエラーはでないはずです。ただ、仮にエラーにならなくても、Eclipseで”インストール済みのJRE”に設定したものと異なるJavaを参照しているはずなので、環境変数でEclipseで”インストール済みのJRE”に設定したものと同じJavaを参照するように設定します。

《システム環境変数「Path」を編集する》

環境変数とは、システムが必要とするさまざまな情報を保管した変数のことで、例えば、「windir」「SystemRoot」変数はWindowsのインストールされている場所を、「temp」「tmp」変数は一時ファイルを作成する場所を示します。「Path」は実行可能ファイルの検索場所を示す環境変数です。どのディレクトリからも Androidツールを実行できるようにするには、環境変数「Path」にAndroidツールのコマンドの場所をフルパスで設定します。(参考サイト:絶対パスとフルパスの違いがイマイチわかりません。

一般に、この作業をおこなうことを「パスをとおす」という言い方をします。今は「パスが通っていない」ので、バッチファイル「ddms.bat」を見つけることができなくてエラーになっているわけです。「パスを通す」ことでフルパスで入力しなくても、どの階層にいても起動することができるようになります。「Path」を編集するときは、誤って、元々のシステム環境変数入力値を消さないようにします。セミコロン(;)は複数の値を設定する場合の区切り文字なので、忘れずに記述します。

※間違って「Path」の元々のシステム環境変数入力値を消してしまうと復旧は困難です。万一消してしまって元々の値が不明の場合、WindowsVista(32Bit)なら最低の「Path」として「%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem」を「変数値」に設定し、実行時エラーになったコマンドの場所を「Path」に追加します。(参考サイト:消してしまった環境変数の値を元に戻したいどなたかWindows7 64bit 環境変数 Pathのデフォルトを教えていただけないでしょうか?OSの種類によってバッチ・ファイルの処理を切り替える方法-OS別に調査したデフォルトの環境変数

※作業が不安な場合、システム環境変数「Path」を編集する前に”コマンドプロンプト”画面で「path > pathsave.txt」と入力して、元々の値の情報を「pathsave.txt」(ファイル名は任意)に保存しておくのもいいかもしれません。(「path」とだけ入力すると、現在の「path」の変数値が画面に出力されます。通常、コマンドの実行結果は標準出力と呼ばれるデバイスへ出力され、デフォルトでは標準出力は画面に設定されています。ここではリダイレクトという仕組みを用いて、標準出力内容をファイルに出力するよう指定しています。「path」コマンドの結果を「pathsave.txt」というファイルに書き込むという指示をしたことになります)

システム管理 完全自動化プロジェクト[入門編]を参考にして、バッチファイルで環境変数を設定するのもありかもしれません。

  1. 「Windows」キーを押しながら「Pause」キーを押して”システム”画面を開きます。
  2. 「システム詳細設定」をクリックし、システムのプロパティを開きます。
  3. 詳細設定タブの「環境変数」をクリックします。
  4. システム環境変数「Path」を選択し、「編集」をクリックします。(大文字小文字は無視されるので 「Path」「PATH」「path」はどれも同じです。例えば「PATH」があるのに「Path」を新規作成すると、「PATH」の内容を置き換えてしまうので注意してください。)
  5. 「変数値」の最初に「c:\pleiades\java\6\bin;」を追記します。(「(Eclipseで”インストール済みのJRE”に設定したフォルダ)\bin;」。Eclipse3.6.2なら「c:\pleiades\jre1.6\bin;」、”Java SEのダウンロード”のJDKなら「C:\Program Files\Java\jdk1.6.0_31\bin;」などです。)
  6. 「変数値」の最後に「;c:\android-sdk\tools;c:\android-sdk\platform-tools」を追記します。
  7. 結果、編集後の「Path」の「変数値」は、「c:\pleiades\java\6\bin;【元々のシステム環境変数入力値】;c:\android-sdk\tools;c:\android-sdk\platform-tools」となります。「OK」をクリックします。
  8. 環境変数で「OK」をクリックします。
  9. システムのプロパティで「OK」をクリックします。

※「c:\pleiades\java\6\bin」を「Path」の「変数値」の最初に追記した場合と、最後に追記した場合では、Eclipseで利用するJava(インストール済みのJREで指定したもの)以外にインストール済みのJavaがあると、”コマンドプロンプト”画面で参照されるJavaが変わってきます。実行可能ファイルの検索は、「Path」の「変数値」の左から右の順におこなわれるので、より左に記述したフォルダに存在するJavaがヒットするからです。例えば、ORACLEのサイトからJavaのダウンロードJava SEのダウンロードを標準インストールしたことがあれば、【元々のシステム環境変数入力値】の中の「C:\Windows\system32」フォルダにJava(公開JRE)が存在します。あるいは、以前インストールしたJDKへパスを通した記述が残っていることもあります。「c:\pleiades\java\6\bin」を「変数値」の最後に追記すると、起動は公開JREで、ビルド・コンパイルは古いJDKで(残っている場合)おこなわれます。「c:\pleiades\java\6\bin」(Eclipseで”インストール済みのJRE”に設定したフォルダ\bin;」)を「Path」の最初に記せば、これがJRE(確認は「java -version」)としてもJDK(確認は「javac -version」)としても間違いなく利用されます。

システム環境変数「JAVA_HOME」を新規作成して、変数値に「c:\pleiades\java\6」と設定し、「Path」の「変数値」は、「%JAVA_HOME%\bin;【元々のシステム環境変数入力値】;c:\android-sdk\tools;c:\android-sdk\platform-tools」とする記述の仕方もできます。なお、「JAVA_HOME」は、本来はTomcatアプリケーションサーバにJDKの場所を示すための環境変数でした。Tomcatを使用しないのであれば、「JAVA_HOME」を利用する書き方にしなくてもよいと思います。逆にTomcatを利用中であれば「JAVA_HOME」は設定済みだと思います。この場合、Tomcatが利用するJavaが変わると困るなら、「JAVA_HOME」は書き換えず、「Path」の「変数値」は、「【元々のシステム環境変数入力値】;c:\android-sdk\tools;c:\android-sdk\platform-tools」とし、コマンドラインでコンパイル時にパス指定することでEclipseと同じバージョンでビルドされるようにするなど工夫が必要になるでしょう。

※システム環境変数はすべてのユーザーに適用され、ユーザ環境変数はログオンユーザーに対してのみ適用されます。通常、ユーザー環境変数を先に探し、該当が無ければシステム環境変数を適用します。しかし環境変数「Path」の場合は、ユーザー環境変数「Path」の値は、システム環境変数「Path」の値の末尾に追加されます。すなわち、ユーザー環境変数「Path」を新規作成し、変数値に「c:\pleiades\java\6\bin;c:\android-sdk\tools;c:\android-sdk\platform-tools」と設定する方法は、システム環境変数「Path」の「変数値」の最後に「c:\pleiades\java\6\bin;c:\android-sdk\tools;c:\android-sdk\platform-tools」を追記したことと同じになります。ですから、インストール済みのJavaがあればそちらが優先して利用され、「c:\pleiades\java\6\bin;」は後回しになります。実際に記述して、”コマンドプロンプト”画面”で「set」と入力し環境変数の一覧を表示すると、このことが確認できます。

《設定の確認》

環境変数を設定中に”コマンドプロンプト”画面を開いたままにしていると、その画面には環境変数の修正結果は反映されません。一度閉じて開き直すか、別の”コマンドプロンプト”画面を開いて設定が反映されたかを確認します。

  1. “コマンドプロンプト”画面で、「java -version」と入力します。
  2. バージョン情報が表示されればJavaが認識されています。(`java`は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません。」と表示されエラーになる場合は、”コマンドプロンプト”画面”で「path」または「set」と入力してみます。環境変数の設定が表示されるので、意図した設定になっているか、「;」や「¥」が抜けていないかを確認します。)
  3. 「ddms」と入力します。(「`ddms`は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません。」と表示されエラーになる場合は、環境変数に入力した「c:\android-sdk\tools」の部分の入力誤りがないか確認します。)
  4. DDMSの起動を確認したら、画面右上の「×」をクリックして閉じます。(閉じないと、”コマンドプロンプト”画面で次のコマンドが入力できません)
  5. 「adb version」と入力します。(「`adb`は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません。」と表示されエラーになる場合は、環境変数に入力した「C:\android-sdk\platform-tools」の部分の入力誤りがないか確認します。)
  6. “コマンドプロンプト”画面にADBのバージョン情報が表示されれば問題ありません。

これで、現在のディレクトリがどこであってもAndroidツールのコマンドが利用できるようになり、”コマンドプロンプト”画面”での作業が便利になります。

《Apache ANTのインストールなど さらに非Eclipse開発環境を知りたい方は》

こちらのサイトを紹介します m(_ _)m

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>