Posts Android系统-预安装应用
Post
Cancel

Android系统-预安装应用

前言

一般打包Android固件都会有一些不可避免的操作,在此分享一下,逐渐更新完善.

Android系统预安装应用

一般做定制的固件,都是给某个客户使用的,客户多数会要求预先安装他们提供的apk,开启自启动(这个apk里面可以完成)。

1.先分析这个apk,这个时候,可以直接解压,或者AS查看下,或者jadx,看看里面是否有so文件,如果没有可以跳过到下一步了,如果看到so库的话,解压出来。 (注 : 用Test.apk来作为例子)

2.找到源码下的./vendor/rockchip/common/apps , 在这个目录下新建一个包,可以随便起名,这里举例Test,把Test.apk和so(如果有so)放到Test下。 (注 : rockchip是这个目录是会变的,根据不同厂商有会所不同,但是一般会是厂商的名字)

3.在./vendor/rockchip/common/apps下有个apps.mk文件(反正总会有个.mk文件的),在这个文件下加入

1
PRODUCT_PACKAGES += Test

4.到Text下新建一个Android.mk

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
##############################################################################
#Test
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := Test   #这里要和你apk一个名字
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_TAGS := optional
#LOCAL_BUILT_MODULE_STEM := package.apk
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
#LOCAL_PRIVILEGED_MODULE := true
LOCAL_CERTIFICATE := PRESIGNED
  
LOCAL_SRC_FILES := $(LOCAL_MODULE).apk 


#LOCAL_DEX_PREOPT := false
LOCAL_PREBUILT_JNI_LIBS := 1.so 2.so #这里是写入你包下的so库,名字要一样,没有顺序。 
include $(BUILD_PREBUILT) 

5.重新打包固件

This post is licensed under CC BY 4.0 by the author.