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

系统内置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的操作。避免不法分子用于非常规操作。不做阐述

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

相关推荐
_extraordinary_2 小时前
MySQL 事务(二)
android·数据库·mysql
鸿蒙布道师6 小时前
鸿蒙NEXT开发动画案例5
android·ios·华为·harmonyos·鸿蒙系统·arkui·huawei
橙子1991101611 小时前
在 Kotlin 中什么是委托属性,简要说说其使用场景和原理
android·开发语言·kotlin
androidwork11 小时前
Kotlin Android LeakCanary内存泄漏检测实战
android·开发语言·kotlin
笨鸭先游12 小时前
Android Studio的jks文件
android·ide·android studio
gys989512 小时前
android studio开发aar插件,并用uniapp开发APP使用这个aar
android·uni-app·android studio
H3091912 小时前
vue3+dhtmlx-gantt实现甘特图展示
android·javascript·甘特图
像风一样自由12 小时前
【001】renPy android端启动流程分析
android·gitee
千里马学框架14 小时前
重学安卓14/15自由窗口freeform企业实战bug-学员作业
android·framework·bug·systrace·安卓framework开发·安卓窗口系统·自由窗口
xianrenli3820 小时前
android特许权限调试
android