Android 8.0系統給第三方apk進行系統簽名
在終端上執行source build/envsetup.sh,再執行lunch
新建android/o-base/vendor/test目錄,在該目錄中放入未簽名的app.apk文件和Android.mk文件
Android.mk文件參考源碼vendor/google/apps/Android.mk文件,因為該目錄下都是apk文件,一部分是需要系統簽名的apk(LOCAL_CERTIFICATE := platform),而另一部分是不需要簽名的apk(LOCAL_CERTIFICATE := PRESIGNED)
LOCAL_PATH := $(call my-dir) ############################## include $(CLEAR_VARS) LOCAL_MODULE := app LOCAL_SRC_FILES := app.apk LOCAL_MODULE_CLASS := APPS LOCAL_MODULE_SUFFIX := .apk LOCAL_BUILT_MODULE_STEM := package.apk LOCAL_CERTIFICATE := platform LOCAL_PRIVILEGED_MODULE := true include $(BUILD_PREBUILT)
核心是下面這句話,意思為簽署當前的應用名稱,實際上也就是用platform.pk8文件和platform.x509.pem來給改應用簽名
LOCAL_CERTIFICATE := platform
配置好后,在android/o-base/vendor/test目錄下執行mm命令編譯apk,
在目錄下out/target/product/xxxx/system/priv-app/app/app.apk找到編譯好后的apk,此時該apk已經被成功簽名
adb install app.apk
success
成功安裝,搞定!