豚吐露@wiki

Linuxアプリケーションの簡単な移植方法

最終更新:

Bot(ページ名リンク)

- view
管理者のみ編集可

Linuxアプリケーションの簡単な移植方法

環境
Ubuntu 10.10 desktop 32bit
Android NDK r5

NDKにはndk-buildじゃなくてもbuildできる仕組みがあるらしい。
情報が古かったので調べながらなんとなく作成。

  • Makefile
自分で引っかかったから書いとくけど、pathを自分の環境のものに変える時、ユーザ名hogeになってるから注意ね。(ノ∀`)
NDK_ROOT = /home/hoge/android/android-ndk

CC = $(NDK_ROOT)/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc

LIBS = -llog
TARGET_ARCH_CFLAGS = -march=armv5te -msoft-float

SYSROOT = $(NDK_ROOT)/platforms/android-8/arch-arm

CFLAGS = -mandroid --sysroot=$(SYSROOT) $(TARGET_ARCH_CFLAGS)
LDFLAGS = -mandroid --sysroot=$(SYSROOT) $(LIBS)

hello : hello.o
『-mandroid』オプションはAndroid向けの対応が『gcc』に入って追加されたそうな。
『ndk-build』使うときは恩恵無いが、今回のような場合は付けとくと色々Android向けにオプションが付いたりするらしい。

  • hello.c
  1. #include <stdio.h>
  2.  
  3. int main(void)
  4. {
  5. printf("Hello, Android world.\n");
  6.  
  7. return(0);
  8. }
  9.  
なんでprintfん所がlinkになるんだ?(..;)
とりあえずコレらを作って、
$ make
/home/hoge/android/android-ndk/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc -mandroid --sysroot=/home/hoge/android/android-ndk/platforms/android-8/arch-arm -march=armv5te -msoft-float -c -o hello.o hello.c
/home/hoge/android/android-ndk/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc -mandroid --sysroot=/home/hoge/android/android-ndk/platforms/android-8/arch-arm -llog hello.o -o hello
ってな感じになって実行形式の『hello』が作られる。

あとはadbを使って本体へ転送すれば...
USB接続
実機とPCをUSB接続して、無線LAN経由でデバッグできるようにする。
> adb -d tcpip 5555
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
restarting in TCP mode port: 5555
Android端末の無線LANに振られてるIP addrとさっき指定したportを指定して接続。
> adb connect 192.168.1.111:5555
connected to 192.168.1.111:5555
ちゃんとつながってるか確認。
> adb devices
List of devices attached
192.168.1.53:5555       device
作った実行形式fileを転送。
> adb push hello /data/local/
461 KB/s (36892 bytes in 0.078s)
> adb shell
# cd /data/local/
# chmod 755 hello
# ./hello
Hello, Android world.
てな感じ。

お手軽じゃが...ちょっと複雑になるだけで、すんなりいかんようになるんじゃろうなぁ...(´・ω・`)


更新日: 2011年02月24日 (木) 20時53分05秒

名前:
コメント:

すべてのコメントを見る
記事メニュー
ウィキ募集バナー