前準備として,下記のインストールが済んでいること.
→ Ubuntu: Ubuntu での Android Studio についての Web ページ
/usr/local/android-ndk-r9bにインストールされているものとして説明を続ける
Android SDK マネージャ を起動し、Android 2.2 をインストールする。
◆ 起動手順の例
sudo /usr/local/android-studio/sdk/tools/android
プラットフォーム
cd /usr/local/android-ndk-r9b ls -la platforms
プラットフォーム下の sysroot
cd /usr/local/android-ndk-r9b ls platforms/android-4/arch-arm
ツールチェーン
ls /usr/local/android-ndk-r9b/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64
#includeint main() { printf("Hello, World !\n"); return 0; }
参考Webページ http://blog.kmckk.com/archives/2918551.html
cd /tmp export PATH=/usr/local/android-ndk-r9b/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin:$PATH /usr/local/android-ndk-r9b/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-gcc -mandroid --sysroot=/usr/local/android-ndk-r9b/platforms/android-4/arch-arm -march=armv5te -msoft-float -o a.out hello.c
次を実行
adb push /tmp/a.out /data/local adb shell cd /data/local ./a.out
次のように 「not executable: magic 7F45」のようなエラーメッセージが出る場合. Genymotion は ARM ではなく x86 ベースのエミュレータなので注意. Genymotion ではなく Android SDK 付属のエミュレータを使う.(android コマンドで簡単に起動できる)
以下、アプリケーションを置くディレクトリを /tmpであるとして説明する
#includeint main() { printf("Hello, World !\n"); return 0; }
LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := a.out LOCAL_SRC_FILES := hello.c include $(BUILD_EXECUTABLE)
cd /tmp ndk-build
file /tmp/libs/armeabi/a.out
次を実行
adb push /tmp/libs/armeabi/a.out /data/local adb shell cd /data/local ./a.out
ログ(logcat のログ)として表示結果を残したい場合は次のように実行
adb push /tmp/libs/armeabi/a.out /data/local adb shell cd /data/local logcat ./a.out