来点前奏说明
当你打开这个文档的时候,你已经做好准备了,话不多说开搞。前提你得有源码,源码参考
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
验证