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

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

  • 相关阅读:
    Python接口测试之requests详介与实战
    Git分支管理
    简易通讯录Promax
    【软件工程师从0到1】- 基本控制结构详解(含习题)
    获奖喜讯 | 中恒科技连获第十一届“龙图杯”全国BIM大赛三项大奖
    新版Chromedriver在哪下载(Chromedriver 116.0.5845.188的寻找之旅)
    Android Retrofit
    螺杆支撑座究竟采用哪种轴承?
    基数排序(学习)
    面试:Android中的一些小问题随笔
  • 原文地址:https://blog.csdn.net/u011283906/article/details/132970276