この Web ページで行うこと.
if [ `arch` = 'x86_64' ]; then 実行結果 ia32-libs fi
※ ia32-libs のインストール時にエラーが出るときは、/etc/dpkg/dpkg.cfg.d/multiarch が「foreign-architecture i386」のようになっていることを確認する。
クリックするとダウンロードが始まる。
ダウンロードしたファイルは,分かりやすいところに解凍 (ここでは,/usr/localと書いています).
cd /usr/local sudo tar -xvzof /tmp/android-sdk_r20-linux.tgz
sudo chown -R <ユーザ名> /usr/local/android-sdk-linux
cd /usr/local cd android-sdk-linux sudo ./tools/android
◆ 下の実行例では,Android SDK Platform-tools と Android 2.3.3 にもチェックを入れている
cd echo 'export PATH=$PATH:/usr/local/android-sdk-linux/tools:/usr/local/android-sdk-linux/platform-tools' >> .bashrc
sudo /usr/local/android-sdk-linux/tools/android update adb sudo /usr/local/android-sdk-linux/platform-tools/adb kill-server sudo /usr/local/android-sdk-linux/platform-tools/adb start-server /usr/local/android-sdk-linux/tools/ddms
cd /usr/local/android-sdk-linux/tools ./android create avd -n hoge -t 1 ./emulator -avd hoge
◆ Ubuntu 12.04 での設定手順例
sudo add-apt-repository "deb https://archive.canonical.com/ precise partner" sudo apt -y update
◆ Ubuntu 11.10 での設定手順例
sudo add-apt-repository "deb https://archive.canonical.com/ oneiric partner" sudo apt -y update
◆ Ubuntu 11.04 での設定手順例
sudo add-apt-repository "deb https://archive.canonical.com/ natty partner" sudo apt -y update
java -version
◆ すでに,OpenJDK 1.6.0_24 が使われている場合の実行結果例
sudo apt-get -yV --force-yes --purge remove sun-java6-bin sun-java6-fonts sun-java6-javadb sun-java6-jdk sun-java6-jre sun-java6-plugin sun-java6-source
sudo apt -y update sudo apt -y install openjdk-7-dbg sudo apt -y install openjdk-7-demo sudo apt -y install openjdk-7-doc sudo apt -y install openjdk-7-jdk sudo apt -y install openjdk-7-jre sudo apt -y install openjdk-7-jre-headless sudo apt -y install openjdk-7-jre-lib sudo apt -y install openjdk-7-source
次のコマンドを実行.し、java-7-openjdk の行の番号を設定する
sudo update-alternatives --config java
◆ 操作手順例
update-java-alternatives -l java -version
sudo apt -y update sudo apt -y install eclipse
sudo apt -y update sudo apt -y install eclipse-cdt sudo apt -y install eclipse-jdt sudo apt -y install eclipse-emf sudo apt -y install eclipse-emf-examples sudo apt -y install eclipse-sdk sudo apt -y install eclipse-jdt sudo apt -y install eclipse-pde sudo apt -y install eclipse-platform sudo apt -y install eclipse-platform-data sudo apt -y install eclipse-plugin-cvs sudo apt -y install eclipse-rcp sudo apt -y install eclipse-rse sudo apt -y install eclipse-xsd sudo apt -y install eclipse-xsd-sdk sudo apt -y install pleiades
if [ -f /usr/share/eclipse/plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar ]; then echo '-javaagent:/usr/share/eclipse/plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar' | sudo tee -a /usr/lib/eclipse/eclipse.ini fi
端末で「eclipse」
環境設定を下記に示す.
Eclipseを起動すると,最初の画面で,「ワークスペースの選択 (Select a workspace)」と出る. ここでワークスペースのディレクトリとして設定する.OK を押すと,ワークスペースが作成される.
Eclipse で 「Window(ウィンドウ)」→「Preferences(設定)」→「Java」→「Installed JRE(インストール済みのJRE)」
【インストール済みの JRE】の変更手順
インストール済み JRE が,下記のように「...java-6-openjdkのようになっている場合には、 OpenJDK 1.7 を使っていないことになるので、手動で設定する.
設定手順は下記の通り.
今開いている設定用ウインドウで,「general(一般)」→「Editors(エディタ)」→「Text Editor(テキストエディタ)」
「Show line numbers (行番号の表示)」をチェック
Eclipseでテキストファイルを扱う場合の文字コードについて,問題があれば,変更できる.
今開いている設定用ウインドウで,「general(一般)」→「ワークスペース」
「Text file encoding (テキスト・ファイル・エンコード)」と, 「New text file line delimiter (新規テキスト・ファイルの行区切り文字)」を設定
今開いている設定用ウインドウで,「一般 (General)」 → 「キー (Keys Modify)」 → 「スキーム(Scheme)」のプルダウンから 「Emacs」
今開いている設定用ウインドウで,「Java」→「Build Path(ビルド・パス)」
「Source and output folder(ソース及び出力フォルダー)」 で,「Folders(フォルダー)」にチェック されているはず.確認しておく.
「Source folder name (ソース・フォルダー名)」と「Output folder name (出力フォルダー名)」をここままでもよいし,好きに設定してもよい(何でも良いが,別のディレクトリになるように設定すること).
今開いている設定用ウインドウで,「Java」→「Compiler(コンパイラ)」
Compiler compliance Level を設定できる。
次の URL を指定
https://dl-ssl.google.com/android/eclipse/
確認したら「次へ (Next)」をクリック
※ ウインドウが現れない場合には,ウインドウ (Window) → 設定 (Preference) と操作し, 左パネルにある 「Android」を選ぶ
Eclipse で, ウインドウ (Window) → Android SDK マネージャー (Android SDK Manager) と操作する.
プロジェクトを右クリックし, 「実行 (Run)」 → 「Android アプリケーション (Android Application)」
しばらく待つと, エミュレータの画面に 「Hello World, ...」というようなメッセージが現れる.
プロジェクトを右クリックし, 「実行 (Run)」 → 「Android アプリケーション (Android Application)」
使用する Android 機器の設定を行う.
【関連する外部ページ】: https://developer.android.com/tools/device.html#Vendorid
◆ <Sony Ericsson の場合の設定手順例>
Vender ID のところ(「0fce」のようになっているところ)は、Android 機器の会社によって変わる値。
echo "SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"0fce\", MODE=\"0666\", GROUP=\"plugdev\"" > /tmp/51-android-rules sudo cp /tmp/51-android-rules /etc/udev/rules.d/51-android-rules
sudo udevadm control --reload-rules
「adb devices」の実行により、接続されている Android 機器のデバイス番号が表示される
adb devices
プロジェクト名は,インポートしたいプログラムの src ディレクトリを見るとすぐに分かる.
プロジェクトを右クリックし, 「実行 (Run)」 → 「Android アプリケーション (Android Application)」
しばらく待つと, エミュレータの画面に 数独が現れる.
package hoge.hoge.com; import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.widget.TextView; import android.location.Location; import android.location.LocationManager; public class HelloActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); LocationManager locman = (LocationManager)this.getSystemService(Context.LOCATION_SERVICE); Location loc = locman.getLastKnownLocation(LOCATION_SERVICE); double latitude = loc.getLatitude();//緯度 double longitude = loc.getLongitude();//経度 TextView tv = new TextView(this); tv.setText( "lat: " + latitude + ", long: " + longitude ); setContentView(tv); } }
<html> <head> <script type="text/javascript"> document.write(anroid.gps("<i>", "</i>")); </script> </head> <body> <p> Hello </p> </body> </html>
package hoge.hoge.com; import android.content.Context; import android.location.Location; import android.location.LocationManager; public class JavaScriptObj { private Context con; public JavaScriptObj(Context con) { this.con = con; } public String gps(String top, String end) { LocationManager locman = (LocationManager)con.getSystemService(Context.LOCATION_SERVICE); Location loc = locman.getLastKnownLocation(Context.LOCATION_SERVICE); double latitude = loc.getLatitude();//緯度 double longitude = loc.getLongitude();//経度 int lat = (int) (loc.getLatitude() * 1000000); int lon = (int) (loc.getLongitude() * 1000000); return top + "緯度:" + lat + ", 経度: " + lon + end; } }
package hoge.hoge.com; import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.webkit.WebView; import android.widget.TextView; public class HelloActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); WebView wv = new WebView(this); wv.getSettings().setJavaScriptEnabled(true);//JS利用OK setContentView(wv); JavaScriptObj jo = new JavaScriptObj(this); wv.addJavascriptInterface(jo, "android"); wv.loadUrl("file:///android_asset/www/index.html"); } }