建立使用 JNI 的 Android 應用程式
一般要建立 Android 的應用程式使用 Eclipse + ADT 最為方便。不過若是像我一樣慣用 command line 的人,可能會希望直接用指令完成。這可利用 Android SDK 和 NDK 辦到。
首先,用 SDK 的 android 指令建立一個 project:
$ android create project -t android-4 -k app.hello -a HelloActivity -p apps/hello/project
|
其中的參數:
- -t 指定 Android API level,android-4 代表 Android 1.6 版。
- -k 代表 package namespace。
- -a 代表 Activity 的名稱。
- -p 代表 project 的放置路徑。
再來,建立 apps/hello/project/jni/ 目錄,並將你的 C/C++ code 放置於此。然後建立 apps/hello/project/jni/Android.mk 內容類似如下:
LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := libhello LOCAL_SRC_FILES := hello.c include $(BUILD_SHARED_LIBRARY) |
其中 LOCAL_MODULE 就是 native shared library 的名稱,而 LOCAL_SRC_FILES 裡應列出這個 library 的所有 C/C++ 源碼。
再來建立 apps/hello/Application.mk 如下:
APP_PROJECT_PATH := $(call my-dir)/project APP_MODULES := hello |
如此就可以透過 NDK 和 Ant 來編譯,產生 apk 了:
$ make -jX V=1 APP=hello $ ant -f apps/hello/project/build.xml debug |
