rom修改----安卓系列机型如何内置app 如何选择so文件内置

2023-09-18 12:59:21

 

系统内置app的需求

在与各工作室对接中操作单中,很多需要内置客户特定的有些app到系统里,这样方便客户刷入固件后直接调用。例如内置apk  去开机引导 去usb调试 默认开启usb安全设置等等。那么很多app内置有不同的反应。有的可以直接内置。有的需要加so才能解决

我们先来看一张图片

1---直接内置方法

将需要的app直接放置系统分区里。具体可以在

system

data-app

priv-app

product

等常用内置的位置。具体可以了解各个文件夹具体的作用。有些软件内置到系统分区会报错。例如当前的面具root的app。分区位置的概念可以参考

安卓各分区文件夹的含义

将app放置到所示文件夹后重新打包刷入手机即可正常使用。这种方法通用有所有内置app的操作。当然有的app这样方法内置后软件会有bug。那么接着看

2----加入app文件内的so到系统

看第一张图片。我们可以了解到app分解后里面的文件组成。其中lib下就是对应机型运行依赖的库文件。那么如果内置后app运行出错或者bug就需要把app里lib下的so文件内置到UI有的系统lib下。

apk里的so库文件如何放置到系统lib下

在android APK的根目录有一个libs文件夹,此文件夹下包含了armeabi 和armeabi-v7a或arm64-v8a等文件夹,我们的c代码编译成的本地库(各种.so)就会放在这两个文件夹其中的一个。

那armeabi-v7a 与armeabi有什么区别,该将so库放哪个文件夹?

armeabi和armeabi-v7a是表示cpu的类型,我们知道一般的手机或平板都是用arm的cpu,不同的
cpu的特性不一样,armeabi就是针对普通的或旧的arm cpu,armeabi-v7a是针对有浮点运算或高级扩展功能的arm cpu

这两个目录都可以放,具体要看开发的apk的定位,如果想将apk发布到网络上供不同的机器使用,那么建议用armeabi(兼容性好),如果只是自己平台上用,则可以用armeabi-v7a。那么如何放置最好查看当前内置固件里的cpu信息。例如

# use ro.product.cpu.abilist instead.
ro.product.cpu.abi=arm64-v8a
ro.product.cpu.abilist=arm64-v8a,armeabi-v7a,armeabi
ro.product.cpu.abilist32=armeabi-v7a,armeabi
ro.product.cpu.abilist64=arm64-v8a

那么可以将app里的arm64-v8a下的放置到系统文件夹下

然后重新进行打包刷入手机测试。

3--app文件夹内置方法

在高版本安卓固件中。直接是以文件夹放置内置app的。查看其系统固件就可以了解

这种可以直接将app以系统原app一样的方法内置到系统文件夹下即可。当然这些只是常用的内置方法。还有一些隐藏内置app的操作。避免不法分子用于非常规操作。不做阐述

关注我 了解安卓机型基本常识和一些简单的故障解决

更多推荐

SpringMVC学习笔记——2

SpringMVC学习笔记——2一、SpringMVC的拦截器1.1、拦截器Interceptor简介1.2、拦截器快速入门1.3、拦截器执行顺序1.4、拦截器执行原理二、SpringMVC的全注解开发2.1、spring-mvc.xml中组件转化为注解形式2.1.1、消除spring-mvc.xml2.1.2、消除w

Kubernetes学习篇之对象

Kubernetes学习篇之对象文章目录Kubernetes学习篇之对象前言期望状态对象规约(spec)对象状态(status)描述对象创建对象字段验证前言对象是k8s系统中持久化的实体,k8s中用这些实体表示系统的状态,该博客是从k8s官网消化吸收后总结提炼的期望状态k8s的对象是你期望k8s达到的状态,k8s会逐渐

《Linux操作系统实战》| 面试了两个实习生,Linux 基本命令都不会(一)

😄作者简介:小曾同学.com,一个致力于测试开发的博主⛽️,主要职责:测试开发、CI/CD如果文章知识点有错误的地方,还请大家指正,让我们一起学习,一起进步。😊座右铭:不想当开发的测试,不是一个好测试✌️。如果感觉博主的文章还不错的话,还请点赞、收藏哦!👍文章目录一、前言二、初识LinuxLinux诞生Linux

数据结构——散列函数、散列表

文章目录前言一、散列表的基本概念二、散列函数的构造方法三、处理冲突的方法1.开放定址法:2.拉链法四、散列查找及性能分析总结前言散列表的基本概念散列函数的构造方法处理冲突的方法散列查找及性能分析提示:以下是本篇文章正文内容,下面案例可供参考一、散列表的基本概念概念:之前的算法建立在“比较”基础上,效率取决于比较次数散列

武汉凯迪正大—继电保护测试仪

一、凯迪正大微机继电保护测试仪产品概述KDJB系列微机继电保护校验仪是在参照电力部颁发的《微机型继电保护试验装置技术条件(讨论稿)》的基础上,听取用户意见,总结目前国内同类产品优缺点,充分使用现代的微电子技术和器件实现的一种小型化微机继电保护测试仪。它采用单机独立运行,亦可联接笔记本电脑运行。主机内置新一代高速数字信号

【zookeeper】基于Linux环境安装zookeeper集群

前提,需要有几台linux机器,我们可以准备好诸如finalshell来连接linux并且上传文件;其次Linux需要安装上ssh,并且在/etc/hosts文件中写好其他几台机器的名字和Ip127.0.0.1localhostlocalhost.localdomainlocalhost4localhost4.loca

ChatGLM 大模型外挂(向量)知识库

前言如果我们想往大模型里边注入知识,最先能想到的就是对大模型进行微调。笔者曾实验过,只用几十万量级的数据对大模型进行微调并不能很好的将额外知识注入大模型,笔者在算力这方面囊中羞涩,只有4块卡,这几十万量级的数据训练6B的模型都要训练好几天。。。如果不微调的话,其实还是可以利用外挂数据库的方式让大模型利用额外的知识的,比

Python案例|使用卷积网络对星系图片进行分类

星系动物园(galaxyzoo)是由牛津大学等研究机构组织并邀请公众协助的志愿者科学计划,目的是为超过100万个星系图像进行分类。这是天文学中一次规模浩大的公众星空普查活动,大众参与热情高涨,在近十万名志愿者的积极参与下,只用了175天就完成了第一阶段的星系动物园项目:对95万个星系进行了分类,而且平均每个星系被分类了

Haproxy集群调度器与部署

一、Haproxy介绍:1.Haproxy应用分析:LVS在企业中康复在能力很强,但存在不足:LVS不支持正则处理,不能实现动静分离对于大型网站LVS的事实配置较为复杂,维护成本相对较Haproxy是一款可以供高可用性、负载均衡和基于TCP和HTTP应用的代理软件非常适用于并发大(并发达1w以上)web站点,可保持站点

高阶数据结构(2)-----红黑树(未完成)

一)红黑树的基本概念和基本性质:1)红黑树就是一种高度平衡的二叉搜索树,但是在每一个节点上面都增加了一个存储位来表示结点的颜色,可以是红色或者是黑色,通过对任何一条从根节点到叶子节点上面的路径各个节点着色方式的限制,红黑树会自动确保没有一条路经会比其他路径的长度高出两倍,而是接近平衡的2)红黑树最长路径是最短路径的两倍

vue3 effect.spec

🎬岸边的风:个人主页🔥个人专栏:《VUE》《javaScript》⛺️生活的理想,就是为了理想的生活!目录原型观察的对象的变更会同步到原始对象重复观察相同的原始对象直接返回相同的proxy对象不会污染原始对象通过toRawapi可以返回被观察对象的原始对象shallowReactive结语定义一个对象origina

热文推荐