zoukankan      html  css  js  c++  java
  • 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应用。

  • 相关阅读:
    使用Redux管理你的React应用(转载)
    基于webpack使用ES6新特性(转载)
    在SublimeText上搭建ReactJS开发环境(转载)
    Javascript 严格模式详解
    HTML5探秘:用requestAnimationFrame优化Web动画
    requestAnimationFrame,Web中写动画的另一种选择
    Gulp自动添加版本号(转载)
    一小时包教会 —— webpack 入门指南
    React 入门实例教程(转载)
    走向视网膜(Retina)的Web时代
  • 原文地址:https://www.cnblogs.com/Cqlismy/p/12579488.html
Copyright © 2011-2022 走看看