1. 程式人生 > >在Android系統原始碼下編譯apk

在Android系統原始碼下編譯apk

 步驟:

 一.找到Android原始碼目錄下packages/apps目錄,在此目錄下新建一個資料夾,以你的apk名字命名,這裡以Test為例。

 二.將自己寫的應用目錄下的src和res以及清單檔案複製到Test目錄下。另外,如果你的專案有用到assert檔案或是第三方jar包,還需要將assert資料夾和jar包複製到Test根目錄下。

 三.編寫Android.mk檔案。下面為我寫的例子:

    LOCAL_PATH:= $(call my-dir) //設定當前模組的編譯路徑為當前資料夾路徑。即當前Android.mk 所在的目錄
    include $(CLEAR_VARS)    //清除變數
    LOCAL_MODULE_TAGS := optional //指該模組在所有版本下都編譯(user,eng,debug等)

    LOCAL_CERTIFICATE := platform //使用平臺簽名,PRESIGNED 表示這個apk已經簽過名了,不需要再簽名
    LOCAL_ASSERT_DIR := packages/apps/Test/asserts //匯入assets目錄下的檔案
    LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES :=android-support-v4 \ //匯入jar包
    LOCAL_DEX_PREOPT :=false //是生成apk程式時只生成apk的包,不再生成odex
    LOCAL_SRC_FILES := \
        $(call all-java-files-under,src) \ //把src下的所有java檔案包含進來

        src/com/android/internal/telephony/ITelephony.aidl //如果有aidl,還需單獨將aidl檔案加進來
    LOCAL_PACKAGE_NAME :=Test //應用名稱
    LOCAL_MODULE_PATH := $(TARGET_OUT)/vendor/operator/app //應用生成路徑
    include $(BUILD_PACKAGE)