豚吐露@wiki
Linuxアプリケーションの簡単な移植方法
最終更新:
Bot(ページ名リンク)
-
view
Linuxアプリケーションの簡単な移植方法
環境
Ubuntu 10.10 desktop 32bit
Android NDK r5
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向けにオプションが付いたりするらしい。
『ndk-build』使うときは恩恵無いが、今回のような場合は付けとくと色々Android向けにオプションが付いたりするらしい。
- hello.c
- #include <stdio.h>
-
- int main(void)
- {
-
- return(0);
- }
-
なんで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 -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秒