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

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

相关推荐
apihz28 分钟前
域名WHOIS信息查询免费API使用指南
android·开发语言·数据库·网络协议·tcp/ip
问道飞鱼1 小时前
【移动端知识】移动端多 WebView 互访方案:Android、iOS 与鸿蒙实现
android·ios·harmonyos·多webview互访
aningxiaoxixi1 小时前
Android 之 audiotrack
android
枷锁—sha1 小时前
【DVWA系列】——CSRF——Medium详细教程
android·服务器·前端·web安全·网络安全·csrf
Cao_Shixin攻城狮5 小时前
Flutter运行Android项目时显示java版本不兼容(Unsupported class file major version 65)的处理
android·java·flutter
呼啦啦呼啦啦啦啦啦啦8 小时前
利用pdfjs实现的pdf预览简单demo(包含翻页功能)
android·javascript·pdf
idjl10 小时前
Mysql测试题
android·adb
游戏开发爱好者812 小时前
iOS App 电池消耗管理与优化 提升用户体验的完整指南
android·ios·小程序·https·uni-app·iphone·webview
人生游戏牛马NPC1号13 小时前
学习 Flutter (四):玩安卓项目实战 - 中
android·学习·flutter
星辰也为你祝福h14 小时前
Android原生Dialog
android