美文网首页
android framework 系列(三)系统源码中预置Ap

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

作者: 好大一只龍 | 来源:发表于2020-01-11 23:02 被阅读0次

    一、 预置无源码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

    相关文章

      网友评论

          本文标题:android framework 系列(三)系统源码中预置Ap

          本文链接:https://www.haomeiwen.com/subject/ucdbactx.html