一、 预置无源码apk
- 在package/apps 创建文件夹,以预知一个名为
Test
的APK为例. - 在Test.apk放到packages/apps/Test文件夹下
- 在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)
- 打开文件
build/make/target/product/core.mk
build/make/target/product/core.mk
PRODUCT_PACKAGES 中将Test添加进去
PRODUCT_PACKAGES += \
BasicDreams \
BlockedNumberProvider \
BookmarkProvider \
Browser2 \
Test \
...
- 编译
make -j12
二、 预置有源码工程
如果将 android 程序的源代码加入到 build system 中呢 ?
- 在 eclipse 开发环境中创建你的 android 工程,比如叫做 Test
- 将工程拷贝到源代码的 package/apps 目录下
- 进入 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)
执行命令
. build/envsetup.sh
mmm packages/apps/Test
编译成功之后,会生成out/target/product/generic/system/app/Test.apk打开文件
build/make/target/product/core.mk
build/make/target/product/core.mk
PRODUCT_PACKAGES 中将Test添加进去
PRODUCT_PACKAGES += \
BasicDreams \
BlockedNumberProvider \
BookmarkProvider \
Browser2 \
Test \
...
- 编译
make -j12