如何将编译好的apk文件加入定制Android系统?

2018-07-05  本文已影响0人  Alan王伦胜

需求由来:由于移植的AOSP Android系统还无法直接在网上安装app,于是下载了一些已经编译好的app,问题是这些app该放在何处?如何让Android系统安装它们?

下面以AngryBird.apk为例介绍如何实现。

创建packages/apps/AngryBird目录:

alan@FSLChengdu:/data/alan/Android$ ls packages/apps/AngryBird/

Android.mk  AngryBird.apk

将AngryBird.apk放到这个目录里面,并在其中建立文件Android.mk,文件内容为:

alan@FSLChengdu:/data/alan/Android$ vi packages/apps/AngryBird/Android.mk

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE_TAGS := optional

LOCAL_MODULE := AngryBird

LOCAL_SRC_FILES := $(LOCAL_MODULE).apk

LOCAL_MODULE_CLASS := APPS

LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)

LOCAL_CERTIFICATE := platform

include $(BUILD_PREBUILT)

接下来,在PRODUCT_PACKAGES中加入该app模块的名称,如此,编译Android系统时,AngryBird就会被编译进去,并且在Android系统起来时会自动安装该app。我的Android是在device/nxp/layerscape/packages.mk加入:

alan@FSLChengdu:/data/alan/Android$ vi device/nxp/layerscape/packages.mk

PRODUCT_PACKAGES += \

  AngryBird \

  BaoxuePlayer \

  QihooBrowser \

  QihooAppStore \

app模块的名称必须与上面LOCAL_MODULE的一致。

题外话:如此安装的apk是安装在system分区,不是在data分区,因此普通情况下不能卸载。

如果感觉到本文对您有所助益,您可以请我喝一杯咖啡。

上一篇 下一篇

猜你喜欢

热点阅读