Android pre-installed apk

 Preinstall APK to system/app directory

        Note: The APK name cannot contain special characters such as Chinese and spaces.

  1. Create a directory in the driver path /android/vendor/aw/public/prebuild/apk to store the corresponding APK
  2. Put the desired preinstalled APK into this directory
  3. Create an Android.mk file in this directory and compile
# 文件名
LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)
LOCAL_MODULE := APK_MODULE_NAME(模块的唯一名字)
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_TAGS := optional
LOCAL_BULIT_MODULE_STEM := package.apk
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
LOCAL_CERTIFICATE := PRESIGNED(签名方式)
#LOCAL_OVERRIDES_PACKAGES := OVERRIDES_MODULE(要替代的模块)
LOCAL_SRC_FILES := name.apk(apk的文件名,一般与MODULE同名)
include $(BUILD_PREBUILT)

example:

 

        Add to the PRODUCT_PACKAGES item in the driver\android\device\{vendor-name}(softwinner)\{platform-name}(ceres)\{platform-name}.mk:

PRODUCT_PACKAGES += APK_MODULE_NAME(apk模块名字,预装多个apk用空格隔开)

pre-installed google apk

###############################################################################
# Family(apk名字)
LOCAL_PATH := $(my-dir)
include $(CLEAR_VARS)
#LOCAL_APK_NAME := Family(apk名字)
#LOCAL_POST_PROCESS_COMMAND := $(shell mkdir -p $(TARGET_OUT)/app/$(LOCAL_APK_NAME) && cp $(LOCAL_PATH)/$(LOCAL_APK_NAME).apk $(TARGET_OUT)/app/$(LOCAL_APK_NAME)/)
include $(CLEAR_VARS)
LOCAL_MODULE := Family(apk名字)
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := APPS
LOCAL_CERTIFICATE := platform
LOCAL_MODULE_PATH := $(TARGET_OUT)/app/
LOCAL_REPLACE_PREBUILT_APK_INSTALLED := $(LOCAL_PATH)/Family.apk(apk名字)
LOCAL_DEX_PREOPT := false
LOCAL_MULTILIB := 32
include $(BUILD_PREBUILT)

Android11Chrome pre-installed

        Copy the Chrome.apk and TrichromeLibrary.apk in the GMS package (android\vendor\partner_gms\apps\Chrome), create a new Chrome folder in the android/ package /apps directory, copy the two apks here, and create a new Android.mk

packages\apps\Chrome\Android.mk

###############################################################################
# Chrome
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := Chrome
LOCAL_MODULE_TAGS := optional
LOCAL_PRODUCT_MODULE := true
LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
LOCAL_OVERRIDES_PACKAGES := Browser Browser2 MtkBrowser MtkBrowserAutoTests BrowserSanityTest
LOCAL_REQUIRED_MODULES := TrichromeLibrary BookmarkProvider PartnerBookmarksProvider
LOCAL_MULTILIB := both
LOCAL_MODULE_CLASS := APPS
LOCAL_DEX_PREOPT := false
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
LOCAL_CERTIFICATE := PRESIGNED
include $(BUILD_PREBUILT)

include $(CLEAR_VARS)
LOCAL_MODULE := TrichromeLibrary
LOCAL_MODULE_TAGS := optional
LOCAL_PRODUCT_MODULE := true
LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
LOCAL_MULTILIB := both
LOCAL_MODULE_CLASS := APPS
LOCAL_DEX_PREOPT := false
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
LOCAL_CERTIFICATE := PRESIGNED
include $(BUILD_PREBUILT)

        Add Chrome and TrichromeLibrary compilation in core.mk or handheld_system.mk (android\build\make\target\product\handheld_system.mk), so that the pre-installation is done.

        At this time, there will be a problem that Chrome has been defined when compiling

         The temporary solution is to remove Chrome under the GMS package (android\vendor\partner_gms\apps\Chrome)

Guess you like

Origin blog.csdn.net/weixin_48426115/article/details/131326578