2014年1月28日火曜日

アンドロイドアプリ”定型文送ります”のリリース

唐突なんですがアンドロイドアプリ
定型文送ります
をリリースしました。
初めてだすのでうまく行くか分かりませんが
いろいろダメだししてください。

2014年1月19日日曜日

Ubuntu で Intel HAXM を使ってandroid SDKのエミュレータを高速化してみる



Android SDK をPCでデバッグするとき、エミューレータで動きを見ることが
あるとおもうけど、このとき気になる現象として"遅い"ってのがある。
これ、WindowsならIntel HAXM(Intel x86 Emulator Accelerator)
で高速化できるよって話があるけれど、ubuntuだと




 このような感じになってしまい、そもそもインストールできない。
が、しかし、つかえないという意味ではない。ってのがわかったという記事。

その前に
Intel x86 Emulator Accelerator がなぜHAXMという略語?というのが気になる。

全然違うってのはいわゆる高級なタブーに属するってことなのか?(GNUみたいな)とも思う
WEBでみてもIntel x86 Emulator Accelerator(HAXM)みたいな形で紹介されているし。

実は、これはintelの説明だと、 
Hardware Accelerated Execution Manager
の略らしい。Ex〜の略で、EでなくてXが採られるってのはよくある話なので許すが
android SDK managerではIntel x86 Emulator Accelerator(HAXM)と書いてある意味は
まあそういうことだ。欧米人は気にしないのか?というか気にするのは私だけか?


で,本題
UbuntuでHAXMを使う方法だが
http://software.intel.com/en-us/blogs/2012/03/12/how-to-start-intel-hardware-assisted-virtualization-hypervisor-on-linux-to-speed-up-intel-android-x86-gingerbread-emulator
に書いてある
題名は
"How to Start Intel Hardware-assisted Virtualization (hypervisor) on Linux to Speed-up Intel Android x86 Gingerbread Emulator"

中身はKVMで高速化って感じのものであった。
なおKVMだけど昔VirtualBoxと競合してたので使うのをやめたけど今回しなかったので
おすすめです。

そのとおりにやってみた。
1,仮想化をサポートするCPU確認
  $ egrep -c '(vmx|svm)' /proc/cpuinfo
  0だとだめ それ以外だとOK
2.チェックツールインストール
  $ sudo apt-get install cpu-checker
3.KVMのチェック
  $ kvm-ok
   戻りが
  INFO: /dev/kvm exists
  KVM acceleration can be used
  みたいだとOK
  違う場合は警告に従ってください。
4.64bitのチェック(ただし32bitでも動作はするらしいので必須ではない)
     64だとメモリの2G境界を超えられるのでおすすめということ
  $ egrep -c ' lm ' /proc/cpuinfo
       0なら32bit CPU
  $ uname -m
       x86_64 だと 64ビットカーネル
                            i386, i486, i586 , i686だと 32ビットカーネル

5.KVMのインストール
  $ sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils
  Postfixとかのインストールを求められたら不必要なら”設定なし”にする

6.自分を kvm 、 libvirtd グループに入れる
     $ sudo adduser  名前  kvm
     $ sudo adduser  名前  libvirtd
    このあとログインしなおしもしくは再起動
7.確認
 $ sudo virsh -c qemu:///system list
 戻りが
 Id Name                 State
----------------------------------
  だとOK

8.Android Virtual Device Manager でx86でエミュレータ(仮想マシン名)を適当に作成し
 $ /tools/emulator-x86 -avd ”仮想マシン名” -qemu -m 2047 -enable-kvm
 で高速エミュレータが動作