Android源码开发篇(三)预置三方Apk

来点前奏说明

当你打开这个文档的时候,你已经做好准备了,话不多说开搞。前提你得有源码,源码参考
Android源码开发篇(一)9.0源码下载 编译 刷机

带源码的APK

1、在任意目录预置,推荐package目录或vendor目录,当然得按照公司要求目录预置

在packages/apps 下面以需要预置的APK的名字创建一个新文件夹,以预置一个名为Kuangjia的文件夹


创建文件夹

2、放入资源,资源目前只支持eclipse模式
将 源码 拷贝到 Kuangjia 文件夹下,删除 /bin 和 /gen 目录,如上所示

3、创建Android.mk
在 Kuangjia 目录下创建一个名为 Android.mk的文件,内容如下:

1
2
3
4
5
6
7
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := $(call all-subdir-java-files)
LOCAL_PACKAGE_NAME := Kuangjia
LOCAL_SDK_VERSION := current
include $(BUILD_PACKAGE)

4、添加到mk文件
/home/zhangbin/aosp/build/make/target/product/generic_no_telephony.mk

添加mk文件

1
2
PRODUCT_PACKAGES :=
    Kuangjia

5、编译&&刷机

1
2
3
source build/envsetup.sh
lunch aosp_sailfish-userdebug
make -j24 2>&1 |tee build.log

1
2
adb reboot bootloader
fastboot flashall -w

无源码的APK

1、在任意目录预置,推荐package目录或vendor目录,当然得按照公司要求目录预置

在packages/apps 下面以需要预置的APK的名字创建一个新文件夹,以预置一个名为SouGou的文件夹


SouGou

2、放入Apk

将 APK 拷贝到 文件夹下

3、创建Android.mk
在 SouGou 目录下创建一个名为 Android.mk的文件,内容如下:

1
2
3
4
5
6
7
8
9
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := SouGou
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)

4、添加到mk文件

/home/zhangbin/aosp/build/make/target/product/generic_no_telephony.mk


添加mk文件

PRODUCT_PACKAGES := 下增加

1
    SouGou

5、编译&&刷机

1
2
3
source build/envsetup.sh
lunch aosp_sailfish-userdebug
make -j24 2>&1 |tee build.log

1
2
adb reboot bootloader
fastboot flashall -w

验证

  • My Application的图标就是预置的Kuangjia
  • 搜狗输入法就是预置的SouGou

验证