最近一直在忙很久没有更新framework的东西了,今天教大家如何把第三方应用设置为系统级别的应用,首先我们看效果图
我们可以看到我们把一个第三方的应用设置为系统应用后,在设置中是没有卸载操作的,所以就表示我们的操作是成功的,接下来我们看一下怎么操作。
我们的所有app都是在packagees/apps下的,我们来看一下图片
我们首先需要在这里创建一个MyApp文件夹,细心的同学已经看到了,我的截图是有的,创建完成后,我们需要在这个文件夹中放两个东西,一个是我们的第三方apk,另一个是android.mk
Myapp文件夹下载提取码:68ps
我们来看一下Android.mk中有些什么东西
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
$(warning "MyApp of LOCAL_PATH is $(LOCAL_PATH)")#打印输出
# Module name should match apk name to be installed
LOCAL_MODULE := MyApp
LOCAL_MODULE_TAGS := optional
#不管是user 还是eng 版本都会编译此app
LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
LOCAL_CERTIFICATE := PRESIGNED
include $(BUILD_PREBUILT)
接下来我们还需要配置一个东西,就是把我们的这个Module放在系统级别的mk中
我们的aosp12和 7 8 9 版本是有差异的,所有放至的位置也不同,
我们需要在build/make/traget/product/base_system.mk
我们把这里配置完成后,就和之前修改activity中代码一样,需要make
. build/envsetup.sh
lunch aosp_car_x86-userdebug
make
emulator
等make成功后,我们启动模拟器就可以看到效果了