スキップしてメイン コンテンツに移動

UbuntuにAndroid開発環境

前回

Ubuntu Desktopを入れてまずやった事 | とびこみ日記
の続きで、このUbuntuマシンにAndroid開発環境を入れてみたいと思います。

環境

Ubuntuはインストールした時点で、OpenJDKやeclipseのインストール候補が入っています。またjava -versionコマンドを打っても、

wagyuu@matsusakaushi:~$ java -version
プログラム 'java' は以下のパッケージで見つかりました:
* default-jre
* gcj-4.6-jre-headless
* openjdk-6-jre-headless
* gcj-4.5-jre-headless
* openjdk-7-jre-headless
次の操作を試してください: sudo apt-get install <選択したパッケージ>


のようにオススメされますが、最新ではありませんし、このまま従うとバージョンを指定できません(たぶん)。これら、特にソフトウェアセンターからのOpenJDKとeclipseをインストールすれば問題なく環境を構築できますが、技術者がお試しならまだしも開発環境を整えるのにバージョンはおまかせなんてあり得ないので、指定のバージョンを入れたいところ。とは言え、現時点での最新JDK64bit版とセンターの古いeclipseより軽量なはずのEclipse IDE for Java Developers(64bit版)でAndroid開発環境を構築してみたいと思います。ちなみに、インストーラー付だと、どこに何を保存されて設定いぢられてるかわからなくなるので、tar.gzファイルでシンプルにいきます。



JDK



上記リンクからダウンロードし、解凍します。



$tar vxf jdk-7u5-linux-x64.tar.gz


mvコマンドで適当なディレクトリへ移動させます。



$mv jdk1.7.0_05 /opt/


Ubuntuのどのディレクトリが何用途なのかはコチラを




・Ubuntuのディレクトリ構造について - Ubuntu Japanese Wiki
https://wiki.ubuntulinux.jp/UbuntuTips/Others/FileHierarchy




ユーザのホームディレクトリで、



$ls -al


で表示される隠しファイル「.bashrc」に、パスを通すべく以下を追加します。



JAVA_HOME=/opt/jdk1.7.0_05
PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=$JAVA_HOME/lib/tools.jar
export JAVA_HOME PATH CLASSPATH


保存したら、



$source ~/.bashrc


を行いますこれで、javaコマンドが反応します。



$ java -version
java version "1.7.0_05"
Java(TM) SE Runtime Environment (build 1.7.0_05-b05)
Java HotSpot(TM) 64-Bit Server VM (build 23.1-b03, mixed mode)


Eclipse IDE for Java Developers



上記リンクよりダウンロードして、JDK同様、解凍して適当なディレクトリへ配置します。Windows等の場合、この時点でeclipseの実行ファイルをダブルクリック等で起動できますが、Ubuntuは…


WS000766



A Java Runtime Environment (JRE) or Java Development Kit (JKD) must be available in order to run Eclipse. No Java virtual machine was found after searching the folloing location:/opt/eclipsejre/bin/java
java in your current PATH




などと言って起動しません。さっきjavaコマンドいけたじゃねーか!というわけです。ところが、これを端末から、eclipseの実行ファイルがあるディレクトリまで行って、



$ ./eclipse


とすると、何事もなかったかのように起動します。


image


とは言えGUIを使いたいわけで、なるべく端末に頼らないようにしたいのですが、正しいやり方かどうかわかりませんが、多くの人が以下のように解決されてました。



eclipseの実行ファイルがある同ディレクトリに、eclipse.iniというのがあります。それを開き、-vmargsの前あたりに以下を追加します。



-vm
/opt/jdk1.7.0_05/bin


-vmの後の改行は必須です!



これで、アイコンダブルクリックで起動できます。



ADTプラグインとAndroid SDKのインストール



多くの場合、先にAndroid SDKをダウンロードしてインストールするようですが、ADTプラグインインストールでやってくれるので特に別個にやる必要はありません。また、Ubuntu特有でもないので、細かくは触れません。



eclipseのメニューのHelpよりInstall new softwareを選択します。それで表示されたダイアログのADDボタンを押し、


WS000768


Locationに「https://dl-ssl.google.com/android/eclipse/」と入力し、ADTのインストールを行います。手順に従いインストールを終えると、eclipseが要求してくる再起動を行います。再び起動すると、ここでAndroid SDKのインストールを提示してきます。



 WS000769



ここでSDKをインストールする場合はそのままNextボタンを。既にSDKを持っている場合は「Use existing SDKs」にチェックを入れて保存している場所を指定してやります。インストールがしばらく進むと、エラーが出ちゃうんですけど...



WS000770



OKを押しておきます。



これでAndroidエミュレータが動くか試してみます。エミュレータの作成等はこちらを参考に




・仮想デバイス(AVD)の作成/編集/削除 - Android入門
http://www.javadrive.jp/android/emulator/index7.html




このリンクよりCreate AVD(AVDの作成)ボタンを押すと、eclipseのコンソールに地味にエラーが出て作成できません。



[2012-06-22 21:06:18 - SDK Manager] Failed to create the SD card.
[2012-06-22 21:06:18 - SDK Manager] Failed to create sdcard in the AVD folder.


これはSDKの実行ファイルが32bitだからだそうで…以下のライブラリをインストールする事で解決します。




・Anything Goes: Android:Failed to create the SD card
http://cointreau-15ml.blogspot.jp/2011/04/androidfailed-to-create-sd-card.html



$ sudo apt-get install ia32-libs



一旦eclipseを閉じて上記コマンドを実行。割りと長いインストールです。それが終わると、eclipseで先ほどと同じようAVDの作成を行い、エミュレータを立ち上げてみましょう。この場合、エミュレータのサイズが小さく設定されてるようなので、



image


の画面で、Screen Sizeで適当な大きさに変更できます。しばらくすると起動しました(;^_^A


image



これでUbuntuでもエミュレータを動かせそうです。こうなってしまえば、後はほぼeclipseまたはAndroid SDK上での話でしょう。



こうやってまとめてみると、割りとスッと導入できた感はありますが、あっちへぶつかりこっちへぶつかり一筋縄にいきませんでした。







作ればわかる!Androidプログラミング―10の実践サンプルで学ぶAndroidアプリ開発入門 (Smart Mobile Developer)アプリを作りながら楽しく学べるAndroidプログラミングのコツ!本書は、Android SDKで実際にアプリケーションを作りながら、Androidアプリ開発の基礎知識と実践的なプログラミング方法を学ぶことができる書籍です。








Androidゲームプログラミング A to ZAndroidゲーム作成を基本から学びたいと考えているプログラマーに贈る解説書
本書は、ゲームエンジン「libGDX」(ゲームフレームワーク)開発の中心人物である著者が、ゲーム開発に必要なAndroid OSのAPIを厳選し、JAVAをすでに学んだ初-中級プログラマーがゲームフレームワークを構築できるよう、その方法を紹介。また、フレームワークをもとに、ゲーム表示を2Dから3Dへと改良していく方法も段階を踏んで解説。







AndroidアプリUIデザイン&プログラミング  アイデア固めからユーザーフィードバック分析までデザイン力は磨ける!Google主催Android Developer Challengeファイナリストが明かすユーザーを惹きつけるアプリ開発のノウハウ。本書の対象者は、これからアプリ開発を始めてみようとしている方、アイデアはあっても実作業に踏み出せない方、プログラミング技術は習得できてもオリジナルのアプリ作りをどのように始めればよいかわからないという方、デザイン能力はあるがプログラミングのイメージがつかめない方、プログラミングはできるがデザインは敬遠してしまう方、など幅広い方を想定しています。


コメント

このブログの人気の投稿

Javaでprivateなfieldやmethodにアクセスする

JUnitでテストしてると、privateなフィールドにアクセスして、値を参照したりセットしたりしたくなるわけですが、よく使うのでメモしておきます。 例えば、次のような対象のクラスがあるとします。 public class ParentClass { private String hoge = "ParentClass!!"; public void dispMsg() { System.out.println("dispMsg:" + hoge); } private void privateDispMsg(String msg) { System.out.println("dispMsg:" + msg); } }

GolangでWindows GUIアプリケーション

GUIアプリ作成の前提 社内ツールとしてexeで配布 開発環境はGoLandを使う 社内ツールとしてexeを配布ということであれば、Visual StudioでC#による開発だと思います。しかしながら、Go言語を習得したいのと、GoLandの補完機能が便利で、Android Studio使っていたこともあり、とっつきやすいという点からGo縛りでGUIアプリケーションを考えたいと思います。 lxn/walk Windows application library kit for Go. Windows向けしか考えていないので、まずこのライブラリなのですが、ボタンやコンボボックスが思ったように並ばなかったり、手軽にイメージボタンを配置したりなど、簡単にレイアウトを変更できない課題に直面しました。レイアウト作成だけで時間を取られてしまいます。そう言えば、Androidアプリ開発のときは、XMLでデザイン部分を切り離してたのを思い出して、今回の調査の運びとなりました。 fyne-io/fyne Cross platform native GUIs designed for Go based on Material Design. Supports: Linux, macOS, Windows, BSD, iOS and Android. walkと比べると、クロスプラットフォームで作成できるのですが、こちらもコードの中にデザインを書いていく形でした。 therecipe/qt therecipe/qt allows you to write Qt applications entirely in Go or JavaScript. Qt Creatorなるものがあるようで、デザイン部分を切り離せる印象はあるものの、最新のPCでもビルドに時間がかかるようで、学習コストもかかるという記事を見かけて断念しました。 どうしたものかとツイートしましたら、下記のようにご助言をいただいた。 同じ課題に対し色々試した結果、PWAのフルキャッシュドに落ち着いた。中身はGo+WASMで。 https://t.co/e60whDTV16 — のぼのぼ📡 (@nobonobo) July 21, 2020 PWA 早速調べてみました。Googleが進めているプロジェクトで、ネイティブアプリのよ

Eclipseの高速化メモ

Eclipseが重いと一言に言っても、いろいろな工程での話があると思いますが、過去記事のなども含めてこの記事にピックアップしておきたいと思います。以下はWindows環境での話です。