Android_Dev

Android

Old Topic: See Android_x86


やっと今頃になってAndroidの開発環境を用意してみる。

  • 基本的は、Oracle JDK7u55(Java)、Google ADT(SDK本体)、AndroidStudio(統合環境)、Genymotion(高速エミュレータ)を入れる。
    • Eclipseでの開発はもう古い。
    • AVDは遅くて使い物にならないので、実機端末あるいはGenymotionを使う。


  • 開発環境はWindows8(64it)もしくはLinux(64bit)を使用する。


    目次




Android SDKをWindows8に入れる(2014-6月の環境)

  1. Android本家からSDK(adt-bundle-windows-x86_64-20140321.zip) をダウンロードしてきて展開する。
  2. Oracle本家から Java SDKを入れる



SDK Managerの起動

  • <インストール先>/sdk/tools/android.bat を起動する。
  • 起動したら、
    • tools -> □Android SDK Platform-tools にチェックを入れる。
    • Android端末のサポートすべき主要なバージョン、例えば □Android 2.3.3と□Android 4.0.3 にチェックを入れる(任意)
    • 右下のinstall ** package ボタンを押す。
    • License Agreeラジオボタンを入れる。
    • インストール



端末エミュレータ(Android Virtual Device)の設定

  • SDK Managerから Manage AVDs を選ぶ
  • 適当にスペックを選んで作成。
  • 普通に作るとARMエミュレーションになるので遅い。
  • intel x86バイナリーで作成すると、(エミュレータの起動が)少しだけ速い。
  • 純正品のAVDは起動やら何やら遅くていらいらするので、後述のGenyMotionを使ったほうが良い。



実機Android端末を繋ぐ。

  • 適当な端末を用意する。
  • 端末側のUSBデバッグを有効□にチェック。
  • PCにつなぐ。
  • adb(デバッガ)用のUSBドライバーを導入する。(これが面倒)
    • まず、端末メーカーごとにUSBのVID:PIDが違うので、各メーカーのサイトから、adb用のUSBドライバーをダウンロードしなければならない。
    • USBドライバーと言っても、実体はWinUSBなので、infがあれば十分(googleのinfを使いまわし)な気もするけれど、最近のWindowsはinfの署名catが正しくないと撥ねられる。
    • USBドライバーが正しく導入(デバイスマネージャーで!マークが付かないこと)出来ても、adbがデバイスを見つけてくれない場合は、
    • 手動で、C:/Users/ユーザー名/.android/adb_usb.ini に、該当デバイスのVIDを1行追記する必要があるらしい。
      0x2207
    • とかそんな感じ

参考URL:

よく使うadbのコマンド



adbはデバッガではないけれど、OSやアプリのログをプリントする機能がある.

D:> adb logcat -c   =過去ログ消去
D:> adb logcat   =ログをコンソールに吐く


adbは本当はシェルではないけれど、Android端末(LinuxのBusyBoxシェル)に接続してコンソールとして使える

D:> adb shell
  • 見かけ上は組み込みLinuxのBusyBox的な、使いにくいシェルが使える。


PC上のAndroidエミュレータ GenyMotion について。

PC上でのAndroid開発やテスト動作に使用できる。

GenyMotion

Android-x86 (intelアーキテクチャー用にビルドされたAndroid OS)をさらにカスタマイズして Oracle Virtual-Boxと統合してしまったようなAndroid VM環境動作ソフト。

Android 標準のSDKについてくるエミュレータでもx86ビルドのバイナリーは提供されているけど、 ここまで使いやすくはないし、(ARMバイナリーにくらべるとかなり速いんだけれどそれでも)遅い。





  • 現時点(2013-11)ではGoogle Play (gapps) がインストールされたVM環境はダウンロード出来ない。
  • (ちょっと前までは with googleappsのVMもDL可能だった)
  • ARM-Translation(x86ビルドでもARMバイナリーなアプリを動かす)とgapps(GooglePlay)の入手は、以下のURLの下のほうから。
  • ただし、Android側の動作がかなり不安定になるので、開発用のVirtualインスタンスには入れないほうが良い。(インスタンスはいくつでも作れる)






Eclipseの日本語化

  • Pleiades.zipを展開して出来たものを、ディレクトリ構造そのままでeclipseインストール先にコピーする。
  • Pleiades.zipのReadMeに従って、eclipse.ini に1行追記する。
  • Eclipse再起動。(-cleanオプションしたほうが良い)


EclipseにGenyMotionプラグインを入れる.

  • Eclipseを起動
  • ヘルプ(H)->新規ソフトウェアのインストール を選択
  • 作業対象(W): サイトを入力または選択 のところに以下のURLを入れる
    http://plugins.genymotion.com/eclipse
  • □Genymobile にチェック
  • ライセンスに同意してインストール


Eclipseで、サンプルソースをビルドしてみる.

・・・という、たったこれだけのことが出来ないのだよ。(実は、ずーーーっと出来なかったのだよ)

  • SDKマネージャーを起動して、Android 4.4.2(API 19)の□ Samples for SDK にチェックを入れる。
  • Eclipseを起動して、
  • ファイル->新規->その他 を選ぶ(って、一体どんなとこにあるんだよ)
  • 「ウィザードを選択」ウィンドウが出る筈
  • その中のAndroid +-- Android サンプル・プロジェクトを選ぶ
  • 試したいサンプルを選んで、あとはビルド&ラン
    • たいがいはエラーしますなぁ・・・脳味噌バグってるんじゃないのか?






apkの解析方法

  • apkファイルは、拡張子をzipに変えて展開するだけで、中身のファイルが取り出せる。


Androidアプリの配布パッケージapkの解析について :CodeZine






Android Studio について

  • 従来のEclipseに代わる、Android専用の統合開発環境のこと。Javaで書かれている。

グーグル、Androidのための統合開発ツール「Android Studio」発表。オープンソースで無償提供。Google I/O 2013

  • メニューのFileから --> Settings --> Plugins --> 下の「Browse repositories...」ボタン を押す。
  • ネット経由で Genymotion を検索して 「download and install」


  • 公式からダウンロードしたものはやや古いので、Studio メニューの Help-> Check for update でアップデートを入れる。
  • Javaなので、JDKさえ入れていれば当然Linuxでも使える。
  • Linux(64bit)上で使う場合は、32bitのELFが混じっているので32bitのlibを入れておかないといろいろツール呼び出しでエラーする。
    # apt-get zlib1g:i386
    # apt-get g++-multilib
  • 32bir ELF問題はEclipseでも起こる。






AndroidStudioの日本語化

  • AndroidStudioはIntelli-JというJava統合環境で動いている。
  • なので、Intelli-Jの日本語化と同様の方法で日本語化出来る、らしい。

以下のURLを参考にする


やり方は

  • Eclipseを日本語化したのと同様に、Pleiadesプラグインを導入する。
  • Pleiadesプラグインのzipファイルを展開して、pluginsディレクトリに生成されたもの
    /jp.sourceforge.mergedoc.pleiades/
  • をディレクトリごと、AndroidStudioのplugins/ にコピーする。
  • AndroidStudioのbin/studio64.exe.vmoptionsの最終行に一行追記する。
    -Didea.platform.prefix=AndroidStudio
    -Didea.paths.selector=AndroidStudioPreview
    ・・・
    -javaagent:../plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar
  • AndroidStudioを起動する。






アプリケーションの基礎

用語集

サンプルコードの入手