編譯的時候內置APK,也可以稱為導入APK,分兩種:
 
1、單獨的APK檔,已經編譯好的
這種一般存在於自己的產品的vendor目錄下的某個專門用於植入的app目錄內,一般通過編譯腳本.mk內插入變數PRODUCT_COPY_FILES來搞定,規則一般用+=(在變數基礎上附加的意思)。一般遇到LZ這種問題,是由於用的谷歌官方的AOSP腳本導致的,因為官方的build/core/makefile規則檔包含了校驗,其中就有一段是校驗拷貝的程式是否為apk,如果是,就被禁止。那麼只需要修改這個腳本,遮罩掉這條命令即可,不影響系統和其他編譯。具體代碼在makefile第28行。

2、原始程式碼的apk,沒有編譯的需要自己編譯的
這種一般放在原始程式碼packages\app下,目錄的形式,(編譯好的APK檔是不存在也不需要Android.mk檔的,所以LZ說弄Android.mk檔搞定的根本就是文不對題。。。)。一般原始程式碼APK的目錄都有這個檔,實在沒有,就自己寫一個,大致格式為:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)

LOCAL_MODULE := Superuser.apk
LOCAL_MODULE_TAGS := eng debug
LOCAL_MODULE_CLASS := EXECUTABLE
LOCAL_MODULE_PATH := $(TARGET_OUT_APPS)
LOCAL_SRC_FILES := $(LOCAL_MODULE)

include $(BUILD_PREBUILT)
創作者介紹
創作者 shadow 的頭像
shadow

資訊園

shadow 發表在 痞客邦 留言(0) 人氣()