文章目录
前言
车载Android的开发,经常需要将应用预装进系统。
该文章记录Android14中模拟器的编译以及将应用预装进系统。
一、Android14代码获取与编译
Android14源码下载
使用清华镜像获取源码
repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b android-14.0.0_r54 --depth=1
repo sync -c --no-tags
repo start master --all
Android14 车载模拟器编译
在Android源码根目录下执行:
source build/envsetup.sh
lunch sdk_car_x86_64-ap2a-userdebug
make -j16 // -j指定编译线程数,根据机器CPU的物理核心数/逻辑线程数来确定
二、预装应用的组入
1、在AOSP代码中新建目录用于存放要组入的apk及其mk文件
2、将apk放在新建的目录中,如果apk中有使用到so库,将apk解压后,将so文件也放到该目录中
3、编写Android.mk文件
LOCAL_PATH:= $(call my-dir)
##############################
include $(CLEAR_VARS)
# 要组入的模块名,在第4步中使用
LOCAL_MODULE := SampleApp
LOCAL_MODULE_CLASS := APPS
# app使用系统签名,如果使用app自身的签名,则配置为PRESIGNED
LOCAL_CERTIFICATE := platform
LOCAL_MODULE_TAGS := optional
LOCAL_DEX_PREOPT := true
LOCAL_MODULE_PATH := $(TARGET_OUT_PRODUCT_APPS)
#apk path,这里放在Android.mk的同目录
LOCAL_SRC_FILES := ./Sample.apk
# 64位系统
LOCAL_MULTILIB := 64
# 需要同步组入so,这里将所有的so放在Android.mk的同目录中的libs中
JNI_LIBS :=
$(foreach FILE,$(shell find $(LOCAL_PATH