android framework 系列(三)系统源码中预置App

一、 预置无源码apk

  1. 在package/apps 创建文件夹,以预知一个名为Test的APK为例.
  2. 在Test.apk放到packages/apps/Test文件夹下
  3. 在packages/apps/Test下面创建文件Android.mk, 内容如下:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
# Module name should match apk name to be installed
LOCAL_MODULE := Test
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
LOCAL_CERTIFICATE := PRESIGNED
include $(BUILD_PREBUILT)
  1. 打开文件 build/make/target/product/core.mk
    build/make/target/product/core.mk
    PRODUCT_PACKAGES 中将Test添加进去
PRODUCT_PACKAGES += \
    BasicDreams \
    BlockedNumberProvider \
    BookmarkProvider \
    Browser2 \
    Test \ 
    ...
  1. 编译
    make -j12

二、 预置有源码工程

如果将 android 程序的源代码加入到 build system 中呢 ?

  1. 在 eclipse 开发环境中创建你的 android 工程,比如叫做 Test
  2. 将工程拷贝到源代码的 package/apps 目录下
  3. 进入 Test 目录下,创建一个 Android.mk 文件,内容如下 :
    LOCAL_PATH :=$(call my-dir)
    include $(CLEAR_VARS)
    LOCAL_MODULE_TAGS :=optional
    LOCAL_SRC_FILES :=$(call all-java-files-under, src)
    LOCAL_PACKAGE_NAME :=(工程名字)
    LOCAL_CERTIFICATE :=platform
    include $(BUILD_PACKAGE)
  1. 执行命令 . build/envsetup.sh
    mmm packages/apps/Test 编译成功之后,会生成out/target/product/generic/system/app/Test.apk

  2. 打开文件 build/make/target/product/core.mk
    build/make/target/product/core.mk
    PRODUCT_PACKAGES 中将Test添加进去

PRODUCT_PACKAGES += \
    BasicDreams \
    BlockedNumberProvider \
    BookmarkProvider \
    Browser2 \
    Test \ 
    ...
  1. 编译
    make -j12
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容