Cで書いてクロスコンパイルしたバイナリをAndroidで実行する

備忘録です。ホストOSは x86 な WIndowsXP で、Android SDK を導入済み、Android 端末とUSB 接続で通信ができる状態です。

  1. こちらより、ARM用GCCのクロスコンパイラ環境(IA32 Windows TAR)をダウンロードして適当な場所に解凍。
  2. helloworldソース(hello.c)を用意し、
#include <stdio.h>
int main(int argc, char** argv)
{
  printf("Hello, world.\n");
  return 0;
}

コマンドプロンプトにて、

> (GCC-ARM)\bin\arm-none-linux-gnueabi-gcc -o hello -static hello.c
> (AndroidSDK)\tools\adb push hello /data/bin
> (AndroidSDK)\tools\adb shell
$ chmod 755 /data/bin/hello
# /data/bin/busybox chmod 755 /data/bin/hello
$ /data/bin/hello
Hello,world.
$

よし動く。

※ 2020/07/02 度重なるブログ移転・ブログシステムのアップデートにより崩れた記事を校正。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください