摘要:前言最近在學(xué)習(xí)系統(tǒng)開(kāi)發(fā),在開(kāi)發(fā)過(guò)程中可能要到將三方集成到系統(tǒng)中的需求。一種是在系統(tǒng)編譯完畢之后,再將三方文件放置到系統(tǒng)目錄之下。還有一種是在系統(tǒng)編譯時(shí)順帶著將三方文件打包到系統(tǒng)中。例如可以換成自己集成的第三方的文件名。
1. 前言最近在學(xué)習(xí)Android系統(tǒng)開(kāi)發(fā),在開(kāi)發(fā)過(guò)程中可能要到將三方apk集成到系統(tǒng)中的需求。目前我了解的方法有兩種。
一種是在系統(tǒng)編譯完畢之后,再將三方apk文件放置到系統(tǒng)目錄之下。參考如何將apk文件更新到系統(tǒng)中vendor文件夾下。
還有一種是在Android系統(tǒng)編譯時(shí)順帶著將三方apk文件打包到系統(tǒng)中。
首先在Android系統(tǒng)目錄 XXXpackagesapps 之下新建一個(gè)目錄。例如 APP_NAME (APP_NAME可以換成自己集成的第三方apk的文件名)。然后在該目錄下放置需要集成的 APP_NAME.apk 文件和 Android.mk 文件。目錄結(jié)構(gòu)如下所示:
APP_NAME: APP_NAME.apk Android.mk
編寫 Android.mk 文件。
LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := APP_NAME LOCAL_MODULE_TAGS := optional LOCAL_SRC_FILES := APP_NAME.apk LOCAL_MODULE_CLASS := APPS LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX) LOCAL_CERTIFICATE := platform include $(BUILD_PREBUILT)
驗(yàn)證是否能夠編譯到系統(tǒng)中。當(dāng)然每次都編譯系統(tǒng)可能需要花很多時(shí)間。我們可以選擇單個(gè)模塊編譯。
xxx$ . build/envsetup.sh
xxx$ lunch [你的Project_Name]
xxx$ cd packages/apps/APP_NAME/
xxx/packages/apps/APP_NAME$ mm
當(dāng)顯示為 #### build completed successfully (xx:xx (mm:ss)) #### 則說(shuō)明配置沒(méi)有問(wèn)題。可以重新編譯系統(tǒng)測(cè)試最終情況。
文/謝康
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/7183.html
閱讀 663·2021-11-25 09:43
閱讀 1672·2021-11-18 10:02
閱讀 1052·2021-10-15 09:39
閱讀 1898·2021-10-12 10:18
閱讀 2129·2021-09-22 15:43
閱讀 782·2021-09-22 15:10
閱讀 2093·2019-08-30 15:53
閱讀 998·2019-08-30 13:00