CentOS 6.2で作るAndroid開発環境構築 -Eclipse・Android環境構築編-
操作をミスってCentOSを壊してしまったので新しく構築するついでに記事にしてみました。
個人的に必要そうなものをインストールしています。
対象:CentOS 6.2 64bit
今回はEclipseとAndroidの環境構築を紹介していきたいと思います。
前回のCentOSの環境はこちらで紹介しています。
http://chuross.hateblo.jp/entry/2012/12/30/021415
Eclipseの導入
1.Eclipseをダウンロードできます。
http://www.eclipse.org/downloads/
個人的にはJunoよりIndigoの方が好きなのでここからダウンロードしました。
http://www.eclipse.org/downloads/packages/release/indigo/sr2
Eclipseの日本語化
1.Pleiadesをダウンロードする
http://mergedoc.sourceforge.jp/
2.Pleiadesを解凍する
解凍してできた「features」と「plugins」の中にあるフォルダをEclipseフォルダにある同名のフォルダ内にコピーする。
この時フォルダごと上書きしてしまわないように注意。
3.Eclipseフォルダ内のeclipse.iniの最後に一行追加する
-javaagent:plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar
4.Eclipseを起動して日本語化できていれば完了です。
Android SDKの導入
1.Android SDKをダウンロードする
http://developer.android.com/sdk/index.html
ADT Bundleを使えば面倒な設定はいりませんが、今回はSDKから導入していきます。
2.Android SDKを解凍してパスを通す
解凍場所は好きな場所で大丈夫です。
.bashrcにパスを追加する
$ cd ~
$ vi .bashrc
export PATH=${PATH}:/home/username/android-sdk-linux/tools
export PATH=${PATH}:/home/username/android-sdk-linux/platform-tools# /home/username/の部分はAndroid SDKを置いたフォルダパスを入力してください。
$ source .bashrc
3.EclipseにAndroidプラグインをインストールする
「ヘルプ」→「新規ソフトウェアのインストール」からインストールウィンドウを表示する。
「作業対象」の項目があるので以下のURLを入力して追加ボタンを押す
チェックボックス全てチェックしてインストール開始する。
再起動するかどうか聞かれるので一旦再起動しましょう。
4.Androidプラグインの初期設定をします。
SDKのフォルダ選択画面が表示されるので、先ほどDLしたフォルダを選択します。
するとplatform-toolsフォルダがねーぞ!みたいなこと言われるので、OpenSDKボタンを押してplatform-toolsをインストールしてきます。
ついでにAndroidのAPIもいくつかインストールします。
この時はAndroid 4.0とAndroid 2.3.3をインストールしました。
5.platform-toolsを64bitでも動くようにライブラリをインストールする
platform-toolsは32bitで動いているのか、adbを起動するとエラーが出ます。
そこで64bit環境でも動作できるようにライブラリを導入します。
$ yum install libstdc++.i686 ncurses-libs.i686 libXext.i686 zlib-devel.i686
Android NDKの導入
1.Android NDKのダウンロードする
http://developer.android.com/tools/sdk/ndk/index.html
2.解凍したNDKにパスを通す
$ cd ~
$ vi .bashrc
export ANDROID_NDK_ROOT=/home/username/android-ndk-r8d
export PATH=${PATH}:$ANDROID_NDK_ROOT
export ANDROID_NDK=$ANDROID_NDK_ROOT# /home/username/の部分はNDKを置いているフォルダのパスに書き換えてください
$ source .bashrc
3.サンプルプロジェクトをビルドしてみる
$ cd /home/username/android-ndk-r8d/samples/hello-jni/
$ ndk-build
これでビルドできていればNDKは大体完了です。
お疲れ様でした。
CentOS 6.2で作るAndroid開発環境構築 -OS環境構築編-
操作をミスってCentOSを壊してしまったので新しく構築するついでに記事にしてみました。
個人的に必要そうなものをインストールしています。
対象:CentOS 6.2 64bit
今回はEclipse環境構築の前にCentOSに入れるものを紹介していきます。
EclipseとAndroidの環境構築はこちらにあります。
http://chuross.hateblo.jp/entry/2012/12/30/021430
日本語化
1.rootでログインする
2.日本語のパッケージをインストールする
$ yum -y groupinstall "Japanese Support"
3.文字設定を変更する
$ vi /etc/sysconfig/i18n
#以下のように変更
LANG="ja_JP.UTF-8"
4.再起動
yumリポジトリの追加
後で説明するgit-flowのインストールのためにEPELパッケージを導入します。
1.EPELパッケージをダウンロードする
http://ftp.riken.jp/Linux/fedora/epel/6/x86_64/repoview/epel-release.html
2.rpmをインストールする
$ rpm -ivh epel-release-6-8.noarch.rpm
3.EPELパッケージが入っているか確認する
$ yum repolist
Javaの導入
1.yumからJavaをインストールする
$ yum install java-1.6.0-openjdk.x86_64
$ yum install java-1.6.0-openjdk-devel.x86_64
2.Javaがインストールされているか確認する
$ java -version
#こんな感じのが出力されれば完了
java version "1.6.0_24"
OpenJDK Runtime Environment (IcedTea6 1.11.5) (rhel-1.50.1.11.5.el6_3-x86_64)
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)
Gitの導入
Gitについて
詳しくはここ参照
サルでもわかるGit入門
http://www.backlog.jp/git-guide/
導入
1.yumからGitをインストールする
$ yum install git
2.Gitがインストールされたか確認する
$ git --version
#こんな感じのが出力されれば完了
git version 1.7.1
yumからインストールできるバージョンが低いので、GitHubから最新のコードを持ってきた方がいいかも
git-flowの導入
git-flowについて
詳しくはここ参照
git-flow によるブランチの管理
http://www.oreilly.co.jp/community/blog/2011/11/branch-model-with-git-flow.html
導入
EPELレポジトリを入れてあればyumからインストールできます。
1.yumからgit-flowをインストールする
$ yum install gitflow
2.git-flowがインストールされているか確認する
$ git flow
#こんな感じのが表示されれば完了
usage: git flowAvailable subcommands are:
init Initialize a new git repo with support for the branching model.
feature Manage your feature branches.
release Manage your release branches.
hotfix Manage your hotfix branches.
support Manage your support branches.
version Shows version information.
Mavenの導入
1.Mavenをダウンロードする
http://maven.apache.org/download.cgi
現時点の最新版は3.0.4なのでそれをダウンロードする。
2.ファイルを解凍してMavenのパスを通す
Mavenの置く位置は好きなところでいいと思います。
$ cd ~
$ .bashrcexport M3_HOME=/home/username/apache-maven-3.0.4
export PATH=${PATH}:$M3_HOME/bin
# yumでJavaを入れるとこの位置にあるはず
export JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre
3.Mavenが認識されたかどうかを確認する
$ mvn -version
これでMavenのバージョンができていれば完了です。
yumで構築できるものばかりなので比較的簡単に導入できるのがいいですね。
次回はEclipse・Androidの設定編を紹介していきます。
冬のコミックマーケットC83に出展します!
この度冬のコミックマケーットに出展します!
日程 | 2012年12月31日 |
---|---|
会場 | 東京ビッグサイト |
場所 | 東Y14b 「MagicMirror」 |
『ななかInside PRESS vol.2』
http://nanaka-inside.net/display/MM/MagicMirror
僕はDropbox APIの使い方を紹介してみました。
今回記事のために作ったサンプルプロジェクトがあったのですが、基本的にはAPIの利用方法を大まかにまとめています。
サンプルプロジェクトで工夫した点はあまり書けなかったので、後日ブログあたりで記事にしてみようと思います。
ソースコードはGitHubに公開しているので興味ある方は是非cloneしてください。
https://github.com/chuchuross/ImageGallery
プルリクエスト待ってます!
IntelliJをLinuxにインストールする
先日、IntelliJが75%割引で販売されていたので購入してみました!
VMで使っているCentOSにインストールする時いくつか手順が必要だったので紹介します。
用意するもの
- Linux OS(今回はCentOS)
- Java Development Kit
yumでJavaをインストールする
yum install java-1.6.0-openjdk.x86_64
yum install java-1.6.0-openjdk-devel.x86_64
手順
- IntelliJをダウンロードする
http://www.jetbrains.com/idea/download/index.html - ダウンロードしてきたファイルを解凍する
- .bashrcにJAVA_HOMEとIDEA_JDKのパスを設定する
export JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/bin
export IDEA_JDK=$JAVA_HOME
- IntelliJのbinフォルダにあるidea.shを起動するとインストーラが起動するので画面の内容に沿って進める
こんな感じでIntelliJがインストールできます。
自分が陥っていたのはjava-1.6.0-openjdk.x86_64だけインストールしててtool.jarがないというエラーが出ていました。
Google Feed APIを使ってみたよ(JSON)
割と前からある気がするAPIですが、最近触ったので使い方を紹介してみます。
APIはjavascriptでも利用できますが、今回はJSONの結果を利用したのでそっちで書きます。
Google feed API
https://developers.google.com/feed/?hl=ja
Google feed APIとは
キーワードからサイトのRSSを検索できたり、RSSのURLをAPIに渡してあげるとそのサイトの記事をJSONで取得することができます。
サイト毎で生成されているRSSの構造に依存しないので、サイト毎にXMLのパースをする必要がないのがいいですね。
ただいつAPIが停止するかわからないので、長期的な運用には向いていないかも?
渡せるパラメーター
参考にしたのはここ。
https://developers.google.com/feed/v1/jsondevguide?hl=ja
使ったことあるとこだけ説明
パラメータ | 動作 |
---|---|
q | 用途によって入れる値が変わる。 RSS検索時:キーワード 記事取得時:RSSのURL |
v | バージョン1.0でいい気がする。 |
hl | 言語。jaとか入れればいいと思うんだけど機能している気がしない。 |
num | 記事取得限定 取得する記事の件数。デフォルトでは100件 |
ブログ検索
ベースになるURL
このベースになるURLに先ほど紹介したパラメータをセットしていきます。
例)「ポケモン」で検索
試しに上のURLを表示してみるとJSONで結果が取得できます。
取得できる項目
- キーワード
- ブログの配列
- feedの説明文
- サイト名
- サイトのURL
- feedのURL
- エラー文
- HTTPステータスコード
記事取得
ベースになるURL
このベースになるURLに先ほど紹介したパラメータをセットしていきます。
例)4Gamer.net
試しに上のURLを表示してみるとこれもJSONで結果が取得できます。
取得できる項目
- 著者
- feedの説明文
- 記事の配列
- 著者
- カテゴリ配列
- 内容
- 記事のURL
- 更新日時
- 記事名
- feedのURL
- サイトURL
- サイト名
- feedのタイプ
- エラー文
- HTTPステータスコード
あとはこれらで取得できる項目をJavaやPHPなどで利用するだけです。
興味がある方は是非試してみてください。
気が向いたらjavascriptでも使ってみます。
SQLiteOpenHelperのonCreate内でAsyncTaskを使用してinsertする時の注意点
久しぶりに更新します。
SQLiteOpenHelperを継承したクラスのonCreate内で、AsyncTaskを使ってSQLiteにテストデータをinsertする処理を書いていたら、SQLiteDatabaseのところでNullPointerExceptionで落ちてしまった。
大まかなコードはこんな感じ
@Override public void onCreate(final SQLiteDatabase db) { ~Create Table~ new AsyncTask<Void, Void, List<Entry>> (){ @Override protected List<Entry> doInBackground(Void... params){ return 非同期で行う処理; } @Override protected void onPostExecute(List<Entry> result) { ContentValues values = new ContentValues(); values.put("id", result.getId()); values.put("title", result.getTitle()); db.insert(TABLE_NAME, null, value); } }.execute(); }
これで実行するとdb.insert(TABLE_NAME, null, value);の行でNullPointerExceptionが起きたので以下のような感じに修正してみた。
@Override public void onCreate(final SQLiteDatabase db) { ~Create Table~ new AsyncTask<Void, Void, List<Entry>> (){ @Override protected List<Entry> doInBackground(Void... params){ return 非同期で行う処理; } @Override protected void onPostExecute(List<Entry> result) { ContentValues values = new ContentValues(); values.put("id", result.getId()); values.put("title", result.getTitle()); getWritableDatabase().insert(TABLE_NAME, null, value); } }.execute(); }
原因はよくわかってないけど、onCreate後に引数で渡されてるSQLiteDatabaseがcloseされたりしているなかなと思ってgetWritableDatabaseでSQLiteDatabaseを呼び出したら動いた。
SQLiteOpenHelper内でAsyncTask使うことあんまりない気もするけどなんとなく書いてみた。
【Android】ActionbarSherlockインポート時Overrideの行でエラーが出る時の対処法
今回のアプリにはActionbarを試そうということでActionbarSherlockを導入した。
しかしながらインポート時にOverrideするメソッドがないよみたいな事言われたので、
何が原因なのかなかなか見つからず、英語圏のサイトを漁ってみた。
すぐ見つかったので意外と多い問題なのかも
http://stackoverflow.com/questions/7132204/greendroid-or-actionbarsherlock-setup
一応原因はjavaコンパイラーのバージョンが1.5になっていたためで、
これを1.6に上げれば問題なく動くようになった。
メモ書き: LinearLayoutとRelativeLayoutの使い方
Androidのレイアウトはわかってない事も多かったので、ネットで色々探していたらいい感じに勉強できそうな記事を見つけた。
何かと参考になりそう。
http://d.hatena.ne.jp/Korsakov/20110131/1296504108