怎么样将自己开发的Android应用程序编译到系统Image中
2014-03-20 18:58
513 查看
怎么样将自己开发的应用程序编译到Android系统呢?
本文不详细介绍编译环境的配置,想知道编译环境配置的请看http://source.android.com/
下面咱们探讨在已经正确配置的环境下进行讲解如何将自己的应用程序添加到系统进行编译
首先将你的应用程序拷贝到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
这样就完成了配置,然后可以编译了。
本文不详细介绍编译环境的配置,想知道编译环境配置的请看http://source.android.com/
下面咱们探讨在已经正确配置的环境下进行讲解如何将自己的应用程序添加到系统进行编译
首先将你的应用程序拷贝到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
这样就完成了配置,然后可以编译了。
相关文章推荐
- 将自己的应用程序编译进Android操作系统作为系统应用启动
- 在android系统中安装gcc,达到在android系统本地编译应用程序进行开发的目的
- Android系统开发编译环境配置
- 如何把应用程序app编译进android系统
- Android内核开发:系统编译输出的镜像文件
- Android系统开发之三:源码添加编译多个第三方jar包
- 深入浅出 - Android系统移植与平台开发(十)- Android编译系统与定制Android平台系统
- Android系统应用开发(八)ANR应用程序与无响应对话框自定义
- android系统学习:第一讲:开发环境搭建及第一个android应用程序
- Android平台开发 -Android build system-编译系统分析
- 【转】Android 源码下利用jni编译自己的项目(参考系统development/samples/SimpleJNI)
- Android系统开发编译环境配置
- Android架构分析之基于Android系统的C应用程序开发
- Android开发中如何将自己编译的.so文件用到其他的项目中
- 如何把应用程序app编译进android系统
- 深入浅出 - Android系统移植与平台开发(五)- 编译Android源码(转)
- android studio开发教程 ListActivity的2种使用方法:系统默认布局和自己定义布局
- Android系统提供了哪些东西,供我们可以开发出优秀的应用程序
- 如何将Android应用程序编译至image/rom中
- 如何将Android应用程序编译至image/rom中