Android関連メモ

2007年11月21日 (水)

Androidエミュ上でCプログラムを動かしてみる

 太田一樹。さんのサイトでAndroidのエミュレーターについて書かれていて、この中でNative C applications for Android が紹介されていました。

 何やらC言語でソース書いて、クロスコンパイルしてバイナリ作ったらエミュレーターで動いたらしい。

 ということで、実際にLinux上でC言語で書いたソースをコンパイルしてエミュレーターで動かしてみました。

 なお、私の環境ではAndroidはLinuxとは別のマシンのWindowsで稼動しています。なので、LinuxでコンパイルしてWindowsへコンパイルしたファイルを持ってきて動作させました。

 それでは、さっそく。

 まずは、Linux上でエミュレーター用のバイナリを作るためのクロスコンパイラーをダウンロードします。

 こちらCodeSourcery からダウンロードできます。「On what system will your program run?」で「ARM GNU/Linux」にチェック。「On what system will you run the tools?」で「IA32 GNU/Linux」をチェックします。

 

Linux01

 なぜかダウンロード完了でブラウザ(Firefox)がフリーズしました。謎。

 ダウンロードしてきたら、まずは解凍します。Linux上での解凍は以下の通り。

[root@localhost src]# bunzip2 arm-2007q3-51-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
[root@localhost src]#
[root@localhost src]# tar xf arm-2007q3-51-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar
[root@localhost src]#

 rootユーザーでダウンロード解凍したので解凍したディレクトリをgoogleユーザーのディレクトリに移動して、オーナーとグループを変えておきます。このソフト、インストールする必要が無いのでrootで落とす必要なかった…。

[root@localhost src]# mv arm-2007q3 /home/google/
[root@localhost google]# chown -R google:google arm-2007q3/
[root@localhost google]# su - google

シンボリックリンクをはっておきます。

[google@localhost ~]$ ln -s arm-2007q3 arm

C言語のソースを置く場所としてsrc_cディレクトリを作成します。

[google@localhost android]$ mkdir src_c
[google@localhost android]$ cd src_c/
[google@localhost src_c]$ ls
[google@localhost src_c]$
[google@localhost src_c]$ pwd

/home/google/android/src_c

画面に「Hello,Android!」と表示するCプログラムを書きます。

[google@localhost src_c]$ vi hello.c

中はこんな感じ。

[google@localhost src_c]$ more hello.c
#include <stdio.h>

int main(void) {
  printf("Hello, Android!\n");
  return 0;
}

/home/google/arm/binにパスを通しておきます。

[google@localhost ~]$ vi .bashrc
[google@localhost ~]$
[google@localhost ~]$ more .bashrc
# .bashrc

# User specific aliases and functions

# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi
#PAHT
export PATH=$PATH:/home/google/android/android_sdk/tools
export PATH=$PATH:/home/google/arm/bin
export ANT_HOME=$ANT_HOME:/home/google/ant
export PATH=$PATH:$ANT_HOME/bin

追加したパスを有効にします。

[google@localhost ~]$ source .bashrc

パスが通っているか確認。

[google@localhost ~]$ which arm-none-linux-gnueabi-gcc
~/arm/bin/arm-none-linux-gnueabi-gcc

 Androidエミュ上でhello.cが動作するようにコンパイルします。
(コンパイルというよりAndroidエミュ上で動くようにLinux上でソースをコンパイルするのでクロスコンパイルですが…)

[google@localhost src_c]$ arm-none-linux-gnueabi-gcc -static hello.c -o hello
[google@localhost src_c]$ ls
hello  hello.c

 無事コンパイルできてhelloというファイルができました。このhelloをLinuxからエミュレーターの動作しているWindowsに持ってきて、エミュレーター上で動作させてみます。

 最初にAndroidエミュレーターを起動しておきます。それからコマンドプロンプトを起動させます。

Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

 コマンドプロンプトが起動したらhelloファイルの置いてある場所に移動します。

C:\cd  C:\eclipse\android_sdk_windows_m3-rc20a\tools

ちゃんとhelloがあるか確認します。

C:\eclipse\android_sdk_windows_m3-rc20a\tools>dir
ドライブ C のボリューム ラベルがありません。
ボリューム シリアル番号は 98FF-5459 です

C:\eclipse\android_sdk_windows_m3-rc20a\tools のディレクトリ

2007/11/21  11:27    <DIR>          .
2007/11/21  11:27    <DIR>          ..
2007/11/11  13:41        11,390,753 aapt.exe
2007/11/11  13:41            44,693 acp.exe
2007/11/11  13:41               720 activityCreator.bat
2007/11/11  13:41         2,238,153 adb.exe
2007/11/11  13:41           106,496 AdbWinApi.dll
2007/11/11  13:41         1,223,792 aidl.exe
2007/11/11  13:41             1,532 ddms.bat
2007/11/11  13:41             1,331 dx.bat
2007/11/11  13:41         1,719,296 emulator.exe
2007/11/21  11:27           568,045 hello 
2007/11/14  09:25    <DIR>          lib
2007/11/11  13:41            65,024 mgwz.dll
2007/11/11  13:41            28,443 mksdcard.exe
2007/11/11  13:01           111,549 NOTICE
2007/11/14  09:26               582 tools へのショートカット.lnk
              14 個のファイル          17,500,409 バイト
               3 個のディレクトリ  17,413,636,096 バイトの空き領域

 helloファイルをエミュ上のdataディレクトリ下に送ります。

C:\eclipse\android_sdk_windows_m3-rc20a\tools>adb push hello data/hello
563 KB/s (0 bytes in 568045.000s)

 dataディレクトリに置いたhelloを実行してみます。

C:\eclipse\android_sdk_windows_m3-rc20a\tools>adb shell data/hello
data/hello: permission denied

おふっ!「パーミッションがダメです。」って…

Androidエミュのシェルにログインしてdataディレクトリのhelloを見てみます。

C:\eclipse\android_sdk_windows_m3-rc20a\tools>adb shell
#
# su
su
# ls data
ls data
-rw-rw-rw- root     root       568045 2007-11-21 02:27 hello
drwxrwxrwx root     root              2007-11-14 00:27 dalvik-cache
drwxrwxrwx root     root              2007-11-14 00:27 system
drwxrwxrwx system   system            2007-11-14 00:27 drm
drwxrwxrwx system   system            2007-11-14 00:27 logs
drwxrwxrwx system   system            2007-11-11 20:57 misc
drwxrwxrwx system   system            2007-11-14 00:27 download
drwxrwx--x system   system            2007-11-14 00:27 data
drwxrwx--x system   system            2007-11-11 20:59 app
drw-rw-rw- root     root              2007-11-21 02:27 lost+found

-rw-rw-rw- hello 思いっきり実行権限無いですねw

実行権限を与えます。

# chmod 775 data/hello
chmod 775 data/hello
# ls data
ls data
-rwxrwxr-x root     root       568045 2007-11-21 02:27 hello
drwxrwxrwx root     root              2007-11-14 00:27 dalvik-cache
drwxrwxrwx root     root              2007-11-14 00:27 system
drwxrwxrwx system   system            2007-11-14 00:27 drm
drwxrwxrwx system   system            2007-11-14 00:27 logs
drwxrwxrwx system   system            2007-11-11 20:57 misc
drwxrwxrwx system   system            2007-11-14 00:27 download
drwxrwx--x system   system            2007-11-14 00:27 data
drwxrwx--x system   system            2007-11-11 20:59 app
drw-rw-rw- root     root              2007-11-21 02:27 lost+found

#

実行してみます。

# data/hello
data/hello
Hello, Android!

#

動いた!

 調子にのってshobo_cat.cという引数で指定したファイルの中身を標準出力へ書き出すプログラムをエミュレーター上で動作させてみます。オプションの無いcatコマンドなので、しょぼいcatということで、shobo_cat.cです。

 さきほどと同じ要領でLinux上でプログラム書いて、コンパイルします。

[google@localhost src_c]$ vi shobo_cat.c
[google@localhost src_c]$ more shobo_cat.c
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>

static void do_cat(const char *path);
static void die(const char *s);

int main (int argc, char *argv[]) {

        int i;

        if (argc < 2) {
                fprintf(stderr, "%s: No such file or directory!\n", argv[0]);
                exit(1);
        }
        for (i = 1; i < argc ; i++ ) {
                do_cat(argv[i]);
        }
        exit(0);
}

#define BUFFER_SIZE 2048

static void do_cat(const char *path) {
        int fd;
        unsigned char buf[BUFFER_SIZE];
        int n;

        fd = open(path, O_RDONLY);
        if (fd < 0) die(path);
        for (;;) {
                n = read(fd, buf, sizeof buf);
                if (n < 0) die(path);
                if (n == 0) break;
                if (write(STDOUT_FILENO, buf, n) < 0) die(path);
        }
        if (close(fd) < 0) die(path);
}

static void die(const char *s) {
        perror(s);
        exit(1);
}

 
[google@localhost src_c]$ arm-none-linux-gnueabi-gcc -static shobo_cat.c -o shobo_cat

[google@localhost src_c]$ ls -lt
合計 576
-rwxrwxr-x  1 google google   5689 11月 21 12:04 shobo_cat
-rw-rw-r--  1 google google    806 11月 21 12:04 shobo_cat.c
-rwxrwxr-x  1 google google 568045 11月 21 11:23 hello
-rw-rw-r--  1 google google     83 11月 21 11:07 hello.c

shobo_catができました。

*shobo_catについて、参考 ふつうのLinuxプログラミング

 helloと同じ要領で、shobo_catをWindowsに持ってきてエミュレーター上で動作させます。

C:\eclipse\android_sdk_windows_m3-rc20a\tools>adb push shobo_cat data/shobo_cat
634 KB/s (0 bytes in 568440.000s)

C:\eclipse\android_sdk_windows_m3-rc20a\tools>adb shell
# cd data
cd data
# ls
ls
-rw-rw-rw- root     root       568440 2007-11-21 03:12 shobo_cat
-rw-rw-rw- root     root            4 2007-11-21 02:51 hoge.txt
-rw-rw-rw- root     root       568045 2007-11-21 02:27 hello
drwxrwxrwx root     root              2007-11-14 00:27 dalvik-cache
drwxrwxrwx root     root              2007-11-14 00:27 system
drwxrwxrwx system   system            2007-11-14 00:27 drm
drwxrwxrwx system   system            2007-11-14 00:27 logs
drwxrwxrwx system   system            2007-11-11 20:57 misc
drwxrwxrwx system   system            2007-11-14 00:27 download
drwxrwx--x system   system            2007-11-14 00:27 data
drwxrwx--x system   system            2007-11-11 20:59 app
drw-rw-rw- root     root              2007-11-21 02:27 lost+found

# chmod 775 shobo_cat
chmod 775 shobo_cat
# ./shobo_cat hoge.txt
./shobo_cat hoge.txt
hoge
#


動いた!けど、なんか改行ができてねええ

以上です。頑張ればWEBサーバーだろうが、何だろうが動きそうですね。

| | コメント (0) | トラックバック (0)

2007年11月20日 (火)

LinuxにAndroidSDKをインストール

 Eclipse無しでLinuxにAndroidSDKをインストールして、コマンドラインからコードを修正したり、ビルドしたりしてみます。通常はEclipseで開発すれば何も問題無いので、そちらをおすすめします。

Linuxにrootでログインしてgoogleというユーザーを作るところから始めます。

まずは、googleグループの作成

[google@localhost android]$ groupadd -g 542 google

次に、googleユーザーの作成 -g 542 で先ほど作成したgoogleグループを指定し、 -s /bin/bash でログインシェルはbashを指定、-d /home/googleでホームディレクトリの指定

[google@localhost android]$ useradd -g 542 -u 542 google -s /bin/bash -d /home/google

googleユーザーが作成できたのでrootからgoogleユーザーにチェンジ

[google@localhost android]$ su - google

androidディレクトリの作成、androidに関する作業はこの下で行うことにします。別に何でもいいんですが…

[google@localhost android]$ mkdir android

androidディレクトリへ移動

[google@localhost android]$ cd android/

wgetでandroid_sdk_linux_m3-rc22a.zipをダウンロード。

[google@localhost android]$ wget http://dl.google.com/android/android_sdk_linux_m3-rc22a.zip
--11:22:03--  http://dl.google.com/android/android_sdk_linux_m3-rc22a.zip
           => `android_sdk_linux_m3-rc22a.zip'
dl.google.com をDNSに問いあわせています... 72.14.203.91
dl.google.com|72.14.203.91|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 55,322,693 (53M) [application/zip]

100%[===========================================================================================================================>] 55,322,693   832.51K/s    ETA 00:00

11:23:13 (782.97 KB/s) - `android_sdk_linux_m3-rc22a.zip' を保存しました [55322693/55322693]

落としたファイルは解凍する前にMD5のチェックをします。これはダウンロードしたファイルが改ざんされていないかどうか確認するためのものです。

[google@localhost android]$ md5sum android_sdk_linux_m3-rc22a.zip
84b3455de5cdfd841a172c13d24c382e  android_sdk_linux_m3-rc22a.zip

md5sumで対象のファイルを指定すると何やら「84b3455de5cdfd841a172c13d24c382e」と文字が出ます。この文字をダウンロード元のMD5 Checksumと比べます。
目視で比べて大丈夫そうならおkでいいかもしれませんが、厳密にやりたい方はコピペでエディターに貼り付けて比較するなり、diff使うなり色々あると思います。私は面倒なので目視でいきます。

[google@localhost android]$ md5sum android_sdk_linux_m3-rc22a.zip > check.txt
[google@localhost android]$ more check.txt
84b3455de5cdfd841a172c13d24c382e  android_sdk_linux_m3-rc22a.zip
[google@localhost android]$ echo 84b3455de5cdfd841a172c13d24c382e >> check.txt
[google@localhost android]$ more check.txt
84b3455de5cdfd841a172c13d24c382e  android_sdk_linux_m3-rc22a.zip
84b3455de5cdfd841a172c13d24c382e

md5sumの結果をファイルに入れてみたりとか

問題なさそうであれば解凍します。

[google@localhost android]$ unzip android_sdk_linux_m3-rc22a.zip

ずらーっと何か画面に表示されると思います。
次に必ず必要と言うわけではありませんが、

[google@localhost android]$ ln -s android_sdk_linux_m3-rc22a android_sdk

android_sdk_linux_m3-rc22aは長ったらしいので、android_sdkという名前でシンボリックリンク貼っておきます。

[google@localhost android]$ ls -lt
lrwxrwxrwx  1 google google       26 11月 20 11:26 android_sdk -> android_sdk_linux_m3-rc22a

cdで移動する時など、
cd android
で移動できます。

次にprojectsというディレクトリを作成します。この中にandroidのプロジェクトを作成していきます。

[google@localhost android]$ mkdir projects

projectディレクトリに移動
[google@localhost android]$ cd projects/

projectsディレクトリの中に更にHelloAndroidディレクトリを作成し、移動します。

[google@localhost projects]$ mkdir HelloAndroid
[google@localhost projects]$ cd HelloAndroid/

いよいよandroid_sdk/tools/のactivityCreator.pyを使ってプロジェクトを作成します。Eclipseの場合、プロジェクトを作成した段階で出来るファイルをこのバッチプログラムを使って作成します。
activityCreator.py com.google.android.samples.HelloAndroid
という風に引数を指定して実行します。

[google@localhost HelloAndroid]$ ../../android_sdk/tools/activityCreator.py com.google.android.samples.HelloAndroid
package: com.google.android.samples
out_dir: /home/google/android/projects/HelloAndroid
activity_name: HelloAndroid
Created directory /home/google/android/projects/HelloAndroid/src/com/google/android/samples
Added file /home/google/android/projects/HelloAndroid/src/com/google/android/samples/HelloAndroid.java
Created directory /home/google/android/projects/HelloAndroid/bin
Created directory /home/google/android/projects/HelloAndroid/res/values
Added file /home/google/android/projects/HelloAndroid/res/values/strings.xml
Created directory /home/google/android/projects/HelloAndroid/res/layout
Added file /home/google/android/projects/HelloAndroid/res/layout/main.xml
Added file /home/google/android/projects/HelloAndroid/AndroidManifest.xml
Added file /home/google/android/projects/HelloAndroid/build.xml

ここで必ず必要ではないですが、通常のコマンドと同じように実行できるようにactivityCreator.pyのあるtoolディレクトリへパスを通しておきます。

[google@localhost ~]$ vi .bashrc

[google@localhost ~]$ more .bashrc
# .bashrc

# User specific aliases and functions

# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi
#PAHT
export PATH=$PATH:/home/google/android/android_sdk/tools

.bashrcをエディターで開いて
export PATH=$PATH:/home/google/android/android_sdk/tools
を最後に追記すればいいです。

.bashrcの変更をすぐに反映させるため以下のコマンドを打ちます。

[google@localhost ~]$ source .bashrc

コマンドを打たなくてもログインし直したり、OSを再起動すると変更が常に有効になります。
以上の変更がうまくいったかどうか試しにHelloAndroidを作成したのと同様にHelloAndroid2を作成してみます。

[google@localhost android]$ cd android/projects/
[google@localhost android]$ mkdir HelloAndroid2
[google@localhost android]$ cd HelloAndroid2/

[google@localhost HelloAndroid2]$ activityCreator.py  com.google.android.samples.HelloAndroid2
package: com.google.android.samples
out_dir: /home/google/android/projects/HelloAndroid2
activity_name: HelloAndroid2
Created directory /home/google/android/projects/HelloAndroid2/src/com/google/android/samples
Added file /home/google/android/projects/HelloAndroid2/src/com/google/android/samples/HelloAndroid2.java
Created directory /home/google/android/projects/HelloAndroid2/bin
Created directory /home/google/android/projects/HelloAndroid2/res/values
Added file /home/google/android/projects/HelloAndroid2/res/values/strings.xml
Created directory /home/google/android/projects/HelloAndroid2/res/layout
Added file /home/google/android/projects/HelloAndroid2/res/layout/main.xml
Added file /home/google/android/projects/HelloAndroid2/AndroidManifest.xml
Added file /home/google/android/projects/HelloAndroid2/build.xml



[google@localhost HelloAndroid2]$ pwd
/home/google/android/projects/HelloAndroid2
[google@localhost HelloAndroid2]$ ls
AndroidManifest.xml  bin  build.xml  res  src

以上でプロジェクトの作成は上手く行きました。
次にHelloAndroidのソースを変更してエミュレーターの画面に「Hello,Android」と表示できるようにします。

[google@localhost HelloAndroid]$ more src/com/google/android/samples/HelloAndroid.java

package com.google.android.samples;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class HelloAndroid extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        TextView tv = new TextView(this);
        tv.setText("Hello, Android");
        setContentView(tv);
    }
}

以上のようにソースを編集してください。Eclipseで編集した時と同じです。

 ソースの編集をするとEclipseでは、Eclipseが勝手に動いてコンパイルしたり色々やってくれたわけですが、コマンドラインからは自分でコンパイルして色々調整しないといけません。
ただ、それだと面倒なのでantを使えば一発でコンパイルから何からやってくれます。

 今回はantが入っていなかったのでダウンロードしてきてantが使えるようにしました。
まずは、antをダウンロードします。android_sdk_linux_m3-rc22a.zipをダウンロードしてmd5sumをチェック、解凍の流れと同じです。

[google@localhost ~]$ cd

/home/googleに移動、ここにantをインストールします。

[google@localhost ~]$ wget http://ftp.kddilabs.jp/infosystems/apache/ant/binaries/apache-ant-1.7.0-bin.tar.gz
--12:16:22--  http://ftp.kddilabs.jp/infosystems/apache/ant/binaries/apache-ant-1.7.0-bin.tar.gz
           => `apache-ant-1.7.0-bin.tar.gz'
ftp.kddilabs.jp をDNSに問いあわせています... 192.26.91.193, 2001:200:601:10:206:5bff:fef0:466c
ftp.kddilabs.jp|192.26.91.193|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 8,958,777 (8.5M) [application/x-gzip]

100%[===========================================================================================================================>] 8,958,777    825.42K/s    ETA 00:00

12:16:34 (752.44 KB/s) - `apache-ant-1.7.0-bin.tar.gz' を保存しました [8958777/8958777]

MD5のチェック

[google@localhost ~]$ md5sum apache-ant-1.7.0-bin.tar.gz
d721b0add40355d7049ec694b91eb332  apache-ant-1.7.0-bin.tar.gz
[google@localhost ~]$ echo d721b0add40355d7049ec694b91eb332
d721b0add40355d7049ec694b91eb332

解凍します。

[google@localhost ~]$ tar zxvf apache-ant-1.7.0-bin.tar.gz

またもやシンボリックリンク貼っておきます。

[google@localhost ~]$ ln -s apache-ant-1.7.0 ant
[google@localhost ~]$ ls -lt
合計 8776
lrwxrwxrwx  1 google google      16 11月 20 12:18 ant -> apache-ant-1.7.0

そして、またもやパスに追加しておきます。

[google@localhost ~]$ more .bashrc
# .bashrc

# User specific aliases and functions

# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi
#PAHT
export PATH=$PATH:/home/google/android/android_sdk/tools
export ANT_HOME=$ANT_HOME:/home/google/ant
export PATH=$PATH:$ANT_HOME/bin

パスに追加したのを有効にします。

[google@localhost ~]$ source .bashrc

antのインストールされている場所の確認

[google@localhost ~]$ which ant
~/ant/bin/ant

ついでにantのバージョンの確認。

[google@localhost ~]$ ant -version
Apache Ant version 1.7.0 compiled on December 13 2006

ここまで、出来ればantインストール完了。この変でつまずいたらパスが通ってないとかそういう感じです。

先ほど作成したHelloAndroidをビルド(コンパイルとか色々)します。build.xmlのあるディレクトリでantと打つだけです。

[google@localhost ~]$ cd android/projects/HelloAndroid
[google@localhost HelloAndroid]$ ls
AndroidManifest.xml  bin  build.xml  res  src
[google@localhost HelloAndroid]$
[google@localhost HelloAndroid]$ ant
Buildfile: build.xml

dirs:
    [mkdir] Created dir: /home/google/android/projects/HelloAndroid/bin/classes

resource-src:
     [echo] Generating R.java...

aidl:

compile:
    [javac] Compiling 2 source files to /home/google/android/projects/HelloAndroid/bin/classes

dex:

package-res:

package-res-no-assets:
     [echo] Packaging resources...

package-dex:
     [echo] Packaging dex...

package:

BUILD SUCCESSFUL
Total time: 7 seconds

無事何かできました。

binの下に出来る.apkという拡張子付きのファイルが作成したアプリらしいです。こいつをエミュレーターなり、実機なりに入れれば動くらしいです。

[google@localhost HelloAndroid]$ ls bin/
HelloAndroid.apk  classes  classes.dex

.apkのついたファイルのエミュレーターでの実行方法は、こちらが参考になります。

試しに私も以下のような感じで,LinuxからHelloAndroid.apkを持ってきて、ウィンドウズ上で試してみました。

cd C:\tmp
start emulator

C:\tmp>dir
ドライブ C のボリューム ラベルがありません。
ボリューム シリアル番号は 98FF-5459 です

C:\tmp のディレクトリ

2007/11/20  12:33    <DIR>          .
2007/11/20  12:33    <DIR>          ..
2007/11/20  12:27             4,386 HelloAndroid.apk
2007/10/16  18:03             3,638 index.html
2007/11/20  12:34                29 slirp.log
2007/10/22  12:45                 0 UIDbgMon.out
2007/06/27  17:06    <DIR>          新しいフォルダ
               4 個のファイル               8,053 バイト
               3 個のディレクトリ  17,573,523,456 バイトの空き領域


C:\tmp>adb install HelloAndroid.apk
68 KB/s (0 bytes in 4386.000s)

C:\tmp>

なんかadb install HelloAndroid.apkでうまくファイルがエミュレーターに渡らず上手くいきませんでした。
このへんと同じ問題な気もするけど、とりあえず今日の所はここまで。そのうち解決します。

| | コメント (0) | トラックバック (0)