android 8(O)预装APP到data/app目录
admin
2024-02-24 18:05:54
0

需求

想内置应用到/data/用户区,让其可卸载
系统android 8(O)
android 11可查看另外一篇《android 11®预装APP到data/app目录》

集成步骤

假设是添加myapplication.apk到sdk中的, 烧录后要装到/data/区(注意此方法恢复出厂后app会消失)

  1. 创建目录packages/apps/myapplication/,并进入这个目录
  2. 创建Android.mk配置文件
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
# Module name should match apk name to be installed
LOCAL_MODULE := myapplication
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
LOCAL_CERTIFICATE := PRESIGNED
LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS)
include $(BUILD_PREBUILT)

LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS) 由这行来控制安装到data/app下。

  1. 把编译好的myapplication.apk放到这个目录下
  2. 修改mk
    在下面两个任意文件中修改PRODUCT_PACKAGES加入新增模块名称即可。
    build/target/product/core.mk
    device/XXXX/device.mk 根据实际项目决定

在PRODUCT_PACKAGES下添加myapplication

PRODUCT_PACKAGES += myapplication

问题

编译后,在out目录下能搜索到myapplication.apk,但是烧录到设备后,启动找不到这个app

解决

在sdk下搜索PackageManagerService.java,不同的平台可能位置不一样,
比如
frameworks/base/services/core/java/com/android/server/pm/PackageManagerService.java
在PackageManagerService.java文件中搜索关键字not found; ignoring,把它对应的抛出异常的
代码屏蔽掉

diff --git a/base/services/core/java/com/android/server/pm/PackageManagerService.java b/base/services/core/java/com/android/server/pm/PackageManagerService.java
index 238a70f6..f380a66e 100644
--- a/base/services/core/java/com/android/server/pm/PackageManagerService.java
+++ b/base/services/core/java/com/android/server/pm/PackageManagerService.java
@@ -12095,11 +12095,11 @@ public class PackageManagerService extends PackageManagerServiceExAbs+ " but expected at " + known.codePathString+ "; ignoring.");}
-                    } else {
+                    } /*else {throw new PackageManagerException(INSTALL_FAILED_INVALID_INSTALL_LOCATION,"Application package " + pkg.packageName+ " not found; ignoring.");
-                    }
+                    }*/}}

作者:帅得不敢出门

相关内容

热门资讯

安卓系统手机安装gta,安卓系... 安卓系统手机安装GTA三部曲的详细教程一、准备工作在开始安装之前,我们需要做一些准备工作,以确保安装...
安装小米新风系统要钱吗,安装小... 安装小米新风系统需要多少钱?全面解析费用构成随着人们对室内空气质量越来越重视,新风系统逐渐成为家庭装...
安卓系统怎么安装instagr... 安卓系统如何安装Instagram随着社交媒体的普及,Instagram已成为全球的图片分享平台之一...
安卓系统系统安装包 安卓系统安装包:轻松安装安卓系统 享受移动生态的便捷随着智能手机的普及,安卓系统因其开放性和丰...
安装系统找不到u启,安装系统时... 安装系统时找不到U启?可能是这些原因导致的!在电脑系统安装过程中,使用U启(U盘启动)是一种常见的安...
傲腾安装系统分区,傲腾安装系统... 傲腾安装系统分区指南一、了解傲腾存储技术傲腾是一种新型的非易失性存储技术,它结合了传统SSD的快速读...
宝鸡新风系统安装,宝鸡新风系统... 宝鸡新风系统安装——打造健康呼吸环境的新选择随着城市化进程的加快,空气质量问题日益凸显,室内空气质量...
安装周界报警系统,周界报警系统... 周界报警系统的安装与重要性随着社会安全意识的不断提高,周界报警系统在各类场所的应用越来越广泛。本文将...
百度安卓系统怎么样安装,轻松上... 安卓系统安装指南:轻松上手,享受定制化体验一、准备工作在开始安装安卓系统之前,请您做好以下准备工作:...
安装系统怎么去分区硬盘,安装系... 安装系统前如何分区硬盘——新手必看指南在安装操作系统之前,合理分区硬盘是确保系统稳定性和数据安全的重...
安装系统重建引导失败,安装系统... 安装系统重建引导失败的原因及解决方法在电脑使用过程中,我们可能会遇到安装系统后重建引导失败的问题。这...
安装系统找不到安装源,安装系统... 安装系统时找不到安装源的原因及解决办法在电脑安装系统时,有时会遇到找不到安装源的问题,这可能会让许多...
安装小美系统需要多久,快速掌握... 小美系统安装时间详解:快速掌握安装时长随着智能电视盒子市场的不断发展,小美盒子凭借其出色的性能和丰富...
安装诱导系统公司,引领智慧交通... 引领智慧交通新潮流——专业诱导系统安装公司助力城市交通管理随着城市化进程的加快,交通拥堵、停车难等问...
安装新风系统的必要性 安装新风系统的必要性随着城市化进程的加快和环境污染的加剧,室内空气质量问题日益受到人们的关注。安装新...
安装系统怎么取消缓存,安装系统... 安装系统时取消缓存的正确方法在安装操作系统时,缓存文件可能会占用不必要的空间,甚至影响安装速度。以下...
安装新系统突然蓝屏,安装新系统... 安装新系统突然蓝屏,原因及解决方法全解析一、安装新系统突然蓝屏的原因1. 硬件故障硬件故障是导致安装...
白云系统安装组件,白云系统安装... 白云系统安装组件详解一、安装环境准备在安装白云系统之前,我们需要准备以下环境: 一台可以正常工作的...
白城门禁系统安装电话,白城门禁... 白城门禁系统安装电话,为您打造安全便捷的出入管理随着社会的发展和科技的进步,门禁系统已经成为现代社区...
安装新风系统团队,专业新风系统... 专业新风系统安装团队,打造健康呼吸环境随着人们对生活品质要求的提高,新风系统逐渐成为家庭装修的必备选...