建立使用 JNI 的 Android 應用程式

By cwhuang, 2010 年 02 月 14 日

一般要建立 Android 的應用程式使用 Eclipse + ADT 最為方便。不過若是像我一樣慣用 command line 的人,可能會希望直接用指令完成。這可利用 Android SDKNDK 辦到。

首先,用 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

Leave a Reply

You must be logged in to post a comment.

OfficeFolders theme by Themocracy