android framework-Pixel3真机系统内置第三方apk实战

一、在/packages/apps创建独一无二的文件夹TestCamera

二、拷贝第三方应用到TestCamera文件夹下

三、创建Android.mk

C 复制代码
LOCAL_PATH:= $(call my-dir)

include $(CLEAR_VARS)
# Module name should match apk name to be installed
LOCAL_MODULE := TestCamera
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.1、grep查找

复制代码
grep "Launcher3" ./ -rn
  • ./make/target/product/mainline_arm64.mk 这个是系统应用的配置

  • ./make/target/product/handheld_product.mk 这个就是我们要配置的文件

    在下面添加我们新增的

五、编译并刷入Pixel真机

1、source build/envset.sh

2、lunch并且选择对应的product

3、make

4、adb devices(检查设备是否连接)

5、adb reboot bootloader(重启设备,进入fastboot状态)

6、fastboot devices(检查进入fastboot状态的设备)

7、fastboot flashall -w(刷入ANDROID_PRODUCT_OUT下的所有镜像文件)

六、真机验证

可以看到,该应用是无法卸载的

普通应用是可以卸载的

相关推荐
方白羽12 小时前
Android Gradle 缓存与文件目录深度解析
android·gradle·android studio
曲幽15 小时前
Termux里的二进制和脚本,到底怎么运行才不踩坑?Termux-service 保活妙招!
android·termux·nohup·services·wake-lock
plainGeekDev16 小时前
单例模式 → object 声明
android·java·kotlin
程序员陆业聪16 小时前
读者点单·03|Compose 与传统 View 混用的 12 个真实坑
android
程序员陆业聪17 小时前
读者点单·02|Android 启动优化实战:Trace 抓取→Application 编排→冷启动全流程拆解
android
Coffeeee17 小时前
帮你快速理解AI Agent之我想招个Android实习生
android·人工智能·agent
恋猫de小郭18 小时前
苹果 AirPods 协议,Android 也可以使用完整版 AirPods 能力
android·前端·flutter
黄林晴18 小时前
告别无效重建:Gradle 9.6.0 解决 CI 构建缓存失效痛点告别无效重建:Gradle 9.6.0 解决 CI 建筑缓存失效痛点
android·gradle
张风捷特烈19 小时前
Flutter 类库大揭秘#01 | path_provider架构与设计
android·flutter
_阿南_1 天前
Android文件读写和分享总结
android