分享

怎么样将自己开发的Android应用程序编译到系统Image中

 Sundy工作室 2013-08-14

怎么样将自己开发的应用程序编译到Android系统呢?

本文不详细介绍编译环境的配置,想知道编译环境配置的请看http://source./

下面咱们探讨在已经正确配置的环境下进行讲解如何将自己的应用程序添加到系统进行编译

首先将你的应用程序拷贝到packages/apps,然后到apps目录下的一个应用程序拷贝一个Android.mk

到你开发的应用程序根目录,下面打开Android.mk分析一下

LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS)

LOCAL_MODULE_TAGS := optional

LOCAL_SRC_FILES := $(call all-subdir-java-files)

LOCAL_PACKAGE_NAME := GalleryTest  #这个是应用程序名字

LOCAL_PROGUARD_ENABLED := full

include $(BUILD_PACKAGE)

上面的是我刚开始使用的配置信息,搞了好久它就是没有编译到系统里面去。原因是

LOCAL_MODULE_TAGS := optional这个选项有问题,因为我编译的是eng版本,虽说optional表示在所有版本都可以编译,但是LOCAL_MODULE_TAGS 变量跟TARGET_BUILD_VARIANT 变量息息相关。后来将其改为eng则可以编译成功,当然如果你的是其它的则应该选用其它。下面顺便给出它的选项简介。

LOCAL_MODULE_TAGS :=user eng tests optional

user: 指该模块只在user版本下才编译

eng: 指该模块只在eng版本下才编译

tests: 指该模块只在tests版本下才编译

optional:指该模块在所有版本下都编译

 

除了上面的配置之外还需要在build/target/product/generic.mk添加你的应用程序名字,如下:

PRODUCT_PACKAGES := \
    AccountAndSyncSettings \
    CarHome \
    DeskClock \
    AlarmProvider \
    Bluetooth \
    Calculator \
    Calendar \
    Camera \
    CertInstaller \
    DrmProvider \
    Email \
    Gallery3D \
    LatinIME \
    Launcher2 \
    Mms \
    Music \
    Provision \
    Protips \
    QuickSearchBox \
    Settings \
    Sync \
    Updater \
    CalendarProvider \
    SyncProvider\

    GalleryTest

这样就完成了配置,然后可以编译了。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约