在做Android開發時,有時需要事先將應用程序燒寫到板子上去而不必讓用戶在板子出廠後自行安裝。將應用導入到android源碼樹可以分為兩種情況:應用的apk文件和源碼工程,下面將一一介紹。
apk文件形式導入
1、在應用程序所在目錄創建文件夾
mkdir Hello
2、將Hello.apk拷貝到剛才所創建的文件夾下
3、在apk同級創建Android.mk文件
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := Hello.apk
LOCAL_MODULE_TAGS := eng
LOCAL_MODULE_CLASS := EXECUTABLE
LOCAL_MODULE_PATH := $(TARGET_OUT_APPS)
LOCAL_SRC_FILES := $(LOCAL_MODULE)
include $(BUILD_PREBUILT)
4、到android根目錄進行編譯
make
應用源碼形式導入
1、在應用程序所在目錄創建文件夾
mkdir Hello
2、將eclipse裡的工程拷貝到Hello裡
3、新建Android.mk文件
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_PACKAGE_NAME := Hello
LOCAL_MODULE_TAGS := eng
include $(BUILD_PACKAGE)
4、到android根目錄進行編譯
make
5、如果java中調用了c庫,則工程中會有個jni目錄
這裡的Android.mk是用來編譯C文件產生lib*.so的,如
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := SerialPort(java中System.loadLibray()使用)
LOCAL_SRC_FILES := SerialPort.c
LOCAL_LDLIBS := -llog
include $(BUILD_SHARED_LIBRARY)
6、此時工程的Android.mk可如下
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := eng
LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_PACKAGE_NAME := testApp
LOCAL_CERTIFICATE := platform
LOCAL_JNI_SHARED_LIBRARIES := libserial_port
LOCAL_PROGUARD_ENABLED := disabled
include $(BUILD_PACKAGE)
include $(call all-makefiles-under,$(LOCAL_PATH))
7、重新編譯
make
更多Android相關信息見Android 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=11