Android系統預裝APP


1、前言

在Android終端設備的開發過程中,有時候我們需要為Android系統中預裝APP,本文將介紹如何在Android源碼中進行系統預裝APP。

 

2、Android系統預裝APP

首先,需要准備好預裝的APP文件,以Bing瀏覽器為例,apk文件下載鏈接如下:

https://www.appsapk.com/bing-search/

接下來,則是修改AOSP源碼,讓編譯出來的system.img鏡像文件包含我們要預裝的APP:

我當前的Android終端設備是以Qualcomm MSM8953為SoC,搭載了Android 9系統,修改源碼步驟如下:

新創建工程目錄,並添加編譯Android.mk和APP文件:

$ cd AOSP/vendor/qcom/app/Browser
$ mkdir Bing
$ touch Android.mk
$ cp <dir>/Bing.apk .

其中Android.mk的內容如下:

LOCAL_PATH         := $(call my-dir)

include $(CLEAR_VARS)
LOCAL_MODULE        := Bing
LOCAL_MODULE_TAGS   := optional
LOCAL_MODULE_CLASS  := APPS
LOCAL_CERTIFICATE   := platform
LOCAL_SRC_FILES     := Bing.apk
LOCAL_PROPRIETARY_MODULE := true
include $(BUILD_PREBUILT)

 接下來,分析一下這個Android.mk的內容:

  • LOCAL_MODULE:用來指定模塊的名稱,該模塊名稱需要加入到PRODUCT_PACKAGES;
  • LOCAL_MODULE_TAGS:用來指定該app在編譯什么樣子的版本的時候會被安裝到機器上;
  • LOCAL_MODULE_CLASS:在采用預裝這種形式的時候,該變量來指定預裝的模塊的類型,此處為APPS;
  • LOCAL_CERTIFICATE:用於設置APK的簽名模式,指定為platform表示該APK完成系統的核心功能;
  • LOCAL_SRC_FILES:要預裝的APK源文件;
  • LOCAL_PROPRIETARY_MODULE:表示專利性產品。

 接下來,修改設備編譯的.mk文件,讓我們要預裝的APP文件打包進行系統鏡像里面:

$ cd AOSP/device/qcom/msm8953_64
$ vim msm8953_64.mk

在msm8953_64.mk文件的最后添加下面代碼,表示將Bing模塊進行打包:

PRODUCT_PACKAGES += Bing

修改完成后,接下來重新編譯system.img鏡像並燒寫:

$ make systemimg

# adb reboot bootloader
# fastboot falsh system system.img
# fastboot reboot

最后,重新檢查並進入到Android設備終端,檢查是否已經預裝APP完成:

# cd /vendor/app/Bing
# ls -alh

成功預裝效果如下:

 

3、小結

本文簡單介紹了如何在Android系統源碼中預裝APP應用。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM