Hatena::ブログ(Diary)

BLOG_2012〜(PC,Audio,etc・・・・) RSSフィード

ノートン啓蒙バナー HP Directplus オンラインストア HP Directplus オンラインストア Bose OE2 audio headphones

2013年05月21日(火)

android.batが正常に動作しない件について

現在、androidアプリを作成するために、javaandroidアプリの勉強を並行して進めています。私はプログラムの専門家ではないので、何をやるにしてもスピードが遅いです。また病気による症状で長時間集中して勉強を行うと、神経が高ぶって夜眠れなくなったりするので、気の向いたときに勉強を行うので、さらにスピードが遅くなります。

この一週間くらいは、Androidの開発環境の構築を行っていました。そんなことにそんな長い時間をかけるのはもったいないと思う人もいるでしょうが。この解決なくして安定した開発環境の構築はできません。

2013年5月20日の時点において、Androidの開発環境構築手順は以下のようになっています。

JAVA Development Kit(JDK)のインストール

・開発環境のEclipseの日本語化(Pleiadesインストール

Android SDK(SDKと呼ぶ)とAndroid Developer Tools(ADTと呼ぶ)のインストール

今回、問題になった部分は、SDKパッケージのインストールでした。上記3つをインストールした後、sdkフォルダー内のtoolsフォルダーの中にあるSDKマネージャを起動させるために、android.batというファイルを起動する必要がありました。

しかし何回インストールしてもandroid.batが正常に起動しませんでした。

ネットで調べたところ問題は、android.batが呼び出すtoolsフォルダのlibフォルダーの中にあるfind_java.batにありました。下記に示します。

[find_java.bat][修正前]===============================================

@echo off

rem Copyright (C) 2007 The Android Open Source Project

rem

rem Licensed under the Apache License, Version 2.0 (the "License");

rem you may not use this file except in compliance with the License.

rem You may obtain a copy of the License at

rem

rem http://www.apache.org/licenses/LICENSE-2.0

rem

rem Unless required by applicable law or agreed to in writing, software

rem distributed under the License is distributed on an "AS IS" BASIS,

rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

rem See the License for the specific language governing permissions and

rem limitations under the License.

rem This script is called by the other batch files to find a suitable Java.exe

rem to use. The script changes the "java_exe" env variable. The variable

rem is left unset if Java.exe was not found.

rem Useful links:

rem Command-line reference:

rem http://technet.microsoft.com/en-us/library/bb490890.aspx

rem Check we have a valid Java.exe in the path. The return code will

rem be 0 if the command worked or 1 if the exec failed (program not found).

for /f %%a in ('%~dps0\find_java.exe -s') do set java_exe=%%a

if not defined java_exe goto :CheckFailed

:SearchJavaW

rem Check if we can find a javaw.exe at the same location than java.exe.

rem If that doesn't work, just fall back on the java.exe we just found.

for /f %%a in ('%~dps0\find_java.exe -s -w') do set javaw_exe=%%a

if not exist %javaw_exe% set javaw_exe=%java_exe%

goto :EOF


:CheckFailed

echo.

echo ERROR: No suitable Java found. In order to properly use the Android Developer

echo Tools, you need a suitable version of Java JDK installed on your system.

echo We recommend that you install the JDK version of JavaSE, available here:

echo http://www.oracle.com/technetwork/java/javase/downloads

echo.

echo If you already have Java installed, you can define the JAVA_HOME environment

echo variable in Control Panel / System / Avanced System Settings to point to the

echo JDK folder.

echo.

echo You can find the complete Android SDK requirements here:

echo http://developer.android.com/sdk/requirements.html

echo.

goto :EOF

===============================================================

上記のコードの詳細はよくわかりませんが、どうもjava.exeとjavaw.exeのパス名を調べているバッチですが、それに失敗しているようです。

念のために、JavaとJavawのパス名を下記に記します。jdkのバージョンは自分が使っている環境に合わせてください。

java C:\Program Files\Java\jdk1.7.0_21\bin\java.exe

Javaw C:\Program Files\Java\jdk1.7.0_21\bin\javaw.exe

そこで下記のコードのように、必要がない命令をコメント化し2つのパス名を書き込んで解決しました。

[find_java.bat][修正後]========================================

@echo off

rem Copyright (C) 2007 The Android Open Source Project

rem

rem Licensed under the Apache License, Version 2.0 (the "License");

rem you may not use this file except in compliance with the License.

rem You may obtain a copy of the License at

rem

rem http://www.apache.org/licenses/LICENSE-2.0

rem

rem Unless required by applicable law or agreed to in writing, software

rem distributed under the License is distributed on an "AS IS" BASIS,

rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

rem See the License for the specific language governing permissions and

rem limitations under the License.

rem This script is called by the other batch files to find a suitable Java.exe

rem to use. The script changes the "java_exe" env variable. The variable

rem is left unset if Java.exe was not found.

rem Useful links:

rem Command-line reference:

rem http://technet.microsoft.com/en-us/library/bb490890.aspx

rem Check we have a valid Java.exe in the path. The return code will

rem be 0 if the command worked or 1 if the exec failed (program not found).

rem for /f %%a in ('%~dps0\find_java.exe -s') do set java_exe=%%a

set java_exe="C:\Program Files\Java\jdk1.7.0_21\bin\java.exe"

if not defined java_exe goto :CheckFailed

:SearchJavaW

rem Check if we can find a javaw.exe at the same location than java.exe.

rem If that doesn't work, just fall back on the java.exe we just found.

rem for /f %%a in ('%~dps0\find_java.exe -s -w') do set javaw_exe=%%a

set javaw_exe="C:\Program Files\Java\jdk1.7.0_21\bin\javaw.exe"

if not exist %javaw_exe% set javaw_exe=%java_exe%

goto :EOF


:CheckFailed

echo.

echo ERROR: No suitable Java found. In order to properly use the Android Developer

echo Tools, you need a suitable version of Java JDK installed on your system.

echo We recommend that you install the JDK version of JavaSE, available here:

echo http://www.oracle.com/technetwork/java/javase/downloads

echo.

echo If you already have Java installed, you can define the JAVA_HOME environment

echo variable in Control Panel / System / Avanced System Settings to point to the

echo JDK folder.

echo.

echo You can find the complete Android SDK requirements here:

echo http://developer.android.com/sdk/requirements.html

echo.

goto :EOF

================================================================================

赤字で書いてあるところが修正点です。長いパス名を入力するときにダブルコーテーション(”)で囲む必要があることに気づくのが遅くなりました。

以上です。

HH 2013/12/18 14:47 1.call lib\find_java.bat をコメントアウト
2.set java_exec=java.exe を追加
3.for /f "delims="......... をコメントアウト
4.set swt_path=lib\x86_64 を追加
これでOKでした。
要は、swt_path の設定が正確にすることです。

dd 2014/12/12 01:48 私の場合は、ダブルコーテーションで囲まないことで無事起動できました。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/hiro-nagasaku/20130521/1369096256
リンク元